CAPEC-23: File Content Injection |
Description An adversary poisons files with a malicious payload (targeting the file systems accessible by the target software), which may be passed through by standard channels such as via email, and standard web content like PDF and multimedia files. The adversary exploits known vulnerabilities or handling routines in the target processes, in order to exploit the host's trust in executing remote content, including binary files. Extended Description Vulnerabilities of this type have been found in a wide variety of commercial applications from Microsoft Office to Adobe Acrobat and Apple Safari web browser. When the adversary knows the standard handling routines and can identify vulnerabilities and entry points, they can be exploited by otherwise seemingly normal content. Once the attack is executed, the adversary's program can access relative directories such as C:\Program Files or other standard system directories to launch further attacks. In a worst case scenario, these programs are combined with other propagation logic and work as a virus. Likelihood Of Attack Typical Severity Prerequisites
| The target software must consume files. |
| The adversary must have access to modify files that the target software will consume. |
Skills Required
[Level: Medium] How to poison a file with malicious payload that will exploit a vulnerability when the file is opened. The adversary must also know how to place the file onto a system where it will be opened by an unsuspecting party, or force the file to be opened. |
Consequences This table specifies different individual consequences associated with the attack pattern. The Scope identifies the security property that is violated, while the Impact describes the negative technical impact that arises if an adversary succeeds in their attack. The Likelihood provides information about how likely the specific consequence is expected to be seen relative to the other consequences in the list. For example, there may be high likelihood that a pattern will be used to achieve a certain impact, but a low likelihood that it will be exploited to achieve a different impact.| Scope | Impact | Likelihood |
|---|
Confidentiality Integrity Availability | Execute Unauthorized Commands | |
Mitigations
| Design: Enforce principle of least privilege |
| Design: Validate all input for content including files. Ensure that if files and remote content must be accepted that once accepted, they are placed in a sandbox type location so that lower assurance clients cannot write up to higher assurance processes (like Web server processes for example) |
| Design: Execute programs with constrained privileges, so parent process does not open up further vulnerabilities. Ensure that all directories, temporary directories and files, and memory are executing with limited privileges to protect against remote execution. |
| Design: Proxy communication to host, so that communications are terminated at the proxy, sanitizing the requests before forwarding to server host. |
| Implementation: Virus scanning on host |
| Implementation: Host integrity monitoring for critical files, directories, and processes. The goal of host integrity monitoring is to be aware when a security issue has occurred so that incident response and other forensic activities can begin. |
Example Instances
PHP is a very popular language used for developing web applications. When PHP is used with global variables, a vulnerability may be opened that affects the file system. A standard HTML form that allows for remote users to upload files, may also place those files in a public directory where the adversary can directly access and execute them through a browser. This vulnerability allows remote adversaries to execute arbitrary code on the system, and can result in the adversary being able to erase intrusion evidence from system and application logs. |
References
[REF-1] G. Hoglund and
G. McGraw. "Exploiting Software: How to Break Code". Addison-Wesley. 2004-02.
|
Content History | Submissions |
|---|
| Submission Date | Submitter | Organization |
|---|
| 2014-06-23 (Version 2.6) | CAPEC Content Team | The MITRE Corporation | | | Modifications |
|---|
| Modification Date | Modifier | Organization |
|---|
| 2015-12-07 (Version 2.8) | CAPEC Content Team | The MITRE Corporation | | Updated Related_Attack_Patterns | | 2017-08-04 (Version 2.11) | CAPEC Content Team | The MITRE Corporation | | Updated Attack_Prerequisites, Description Summary, Examples-Instances, Payload_Activation_Impact | | 2018-07-31 (Version 2.12) | CAPEC Content Team | The MITRE Corporation | | Updated Attacker_Skills_or_Knowledge_Required | | 2019-04-04 (Version 3.1) | CAPEC Content Team | The MITRE Corporation | | Updated Related_Weaknesses | | 2020-07-30 (Version 3.3) | CAPEC Content Team | The MITRE Corporation | | Updated Example_Instances | | 2020-12-17 (Version 3.4) | CAPEC Content Team | The MITRE Corporation | | Updated Example_Instances, References | | 2022-02-22 (Version 3.7) | CAPEC Content Team | The MITRE Corporation | | Updated Description, Extended_Description | | Previous Entry Names |
|---|
| Change Date | Previous Entry Name |
|---|
| 2015-12-07 (Version 2.8) | File System Function Injection, Content Based | |
More information is available — Please select a different filter.
|