|
|
|
|
CAPEC-248: Command Injection |
Description An adversary looking to execute a command of their choosing, injects new items into an existing command thus modifying interpretation away from what was intended. Commands in this context are often standalone strings that are interpreted by a downstream component and cause specific responses. This type of attack is possible when untrusted values are used to build these command strings. Weaknesses in input validation or command construction can enable the attack and lead to successful exploitation. Likelihood Of Attack Typical Severity Prerequisites
| The target application must accept input from the user and then use this input in the construction of commands to be executed. In virtually all cases, this is some form of string input that is concatenated to a constant string defined by the application to form the full command to be executed. |
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
| All user-controllable input should be validated and filtered for potentially unwanted characters. Using an allowlist for input is desired, but if use of a denylist approach is necessary, then focusing on command related terms and delimiters is necessary. |
| Input should be encoded prior to use in commands to make sure command related characters are not treated as part of the command. For example, quotation characters may need to be encoded so that the application does not treat the quotation as a delimiter. |
| Input should be parameterized, or restricted to data sections of a command, thus removing the chance that the input will be treated as part of the command itself. |
Taxonomy Mappings Relevant to the OWASP taxonomy mapping References Content History | Submissions |
|---|
| Submission Date | Submitter | Organization |
|---|
| 2014-06-23 (Version 2.6) | CAPEC Content Team | The MITRE Corporation | | | Modifications |
|---|
| Modification Date | Modifier | Organization |
|---|
| 2017-01-09 (Version 2.9) | CAPEC Content Team | The MITRE Corporation | | Updated Attack_Motivation-Consequences, Attack_Prerequisites, Description, Description Summary, Solutions_and_Mitigations | | 2017-05-01 (Version 2.10) | CAPEC Content Team | The MITRE Corporation | | Updated Related_Weaknesses, Solutions_and_Mitigations, Typical_Likelihood_of_Exploit, Typical_Severity | | 2020-07-30 (Version 3.3) | CAPEC Content Team | The MITRE Corporation | | Updated Mitigations | | 2020-12-17 (Version 3.4) | CAPEC Content Team | The MITRE Corporation | | Updated References, Taxonomy_Mappings |
More information is available — Please select a different filter.
|