Execution Flow
1) Explore
[Find target application and schema] The adversary first finds the application that they want to target. This application must use schemas in some way, so the adversary also needs to confirm that schemas are being used.
Technique
- Gain access to the system that the application is on and look for a schema.
- Observe HTTP traffic to the application and look for a schema being transmitted.
2) Experiment
[Gain access to schema] The adversary gains access to the schema so that they can modify the contents.
Technique
- For a local scenario, the adversary needs access to the machine that the schema is located on and gain permissions to alter the contents of the schema file.
- For a remote scenario, the adversary needs to be able to perform an adversary in the middle attack on the HTTP traffic that contains a schema.
3) Exploit
[Poison schema] Once the adversary gains access to the schema, they will alter it to achieve a desired effect. Locally, they can just modify the file. For remote schemas, the adversary will alter the schema in transit by performing an adversary in the middle attack.
Technique
- Cause a denial of service by modifying the schema so that it does not contain required information for subsequent processing.
- Manipulation of the data types described in the schema may affect the results of calculations. For example, a float field could be changed to an int field.
- Change the encoding defined in the schema for certain fields allowing the contents to bypass filters that scan for dangerous strings. For example, the modified schema might use a URL encoding instead of ASCII, and a filter that catches a semicolon (;) might fail to detect its URL encoding (%3B).
Prerequisites
Some level of access to modify the target schema.
The schema used by the target application must be improperly secured against unauthorized modification and manipulation.
Resources Required
Access to the schema and the knowledge and ability modify it. Ability to replace or redirect access to the modified schema.
Mitigations
Design: Protect the schema against unauthorized modification.
Implementation: For applications that use a known schema, use a local copy or a known good repository instead of the schema reference supplied in the schema document.
Implementation: For applications that leverage remote schemas, use the HTTPS protocol to prevent modification of traffic in transit and to avoid unauthorized modification.
Related Weaknesses
CWE-ID |
Weakness Name |
|
External Control of System or Configuration Setting One or more system settings or configuration elements can be externally controlled by a user. |
Submission
Name |
Organization |
Date |
Date release |
CAPEC Content Team |
The MITRE Corporation |
2014-06-23 +00:00 |
|
Modifications
Name |
Organization |
Date |
Comment |
CAPEC Content Team |
The MITRE Corporation |
2017-01-09 +00:00 |
Updated Description, Description Summary, Related_Attack_Patterns |
CAPEC Content Team |
The MITRE Corporation |
2018-07-31 +00:00 |
Updated Attack_Motivation-Consequences, Attack_Prerequisites, Description Summary, Examples-Instances, Related_Weaknesses, Resources_Required, Solutions_and_Mitigations, Typical_Likelihood_of_Exploit, Typical_Severity |
CAPEC Content Team |
The MITRE Corporation |
2019-04-04 +00:00 |
Updated Related_Weaknesses |
CAPEC Content Team |
The MITRE Corporation |
2020-07-30 +00:00 |
Updated Related_Attack_Patterns |
CAPEC Content Team |
The MITRE Corporation |
2021-10-21 +00:00 |
Updated Execution_Flow, Related_Attack_Patterns |
CAPEC Content Team |
The MITRE Corporation |
2022-09-29 +00:00 |
Updated Example_Instances |
CAPEC Content Team |
The MITRE Corporation |
2023-01-24 +00:00 |
Updated Related_Attack_Patterns |