New to CAPEC? Start Here
Home > CAPEC List > CAPEC-201: Serialized Data External Linking (Version 3.9)  

CAPEC-201: Serialized Data External Linking

Attack Pattern ID: 201
Abstraction: Detailed
View customized information:
+ Description
An adversary creates a serialized data file (e.g. XML, YAML, etc...) that contains an external data reference. Because serialized data parsers may not validate documents with external references, there may be no checks on the nature of the reference in the external data. This can allow an adversary to open arbitrary files or connections, which may further lead to the adversary gaining access to information on the system that they would normally be unable to obtain.
+ Likelihood Of Attack


+ Typical Severity


+ Relationships
Section HelpThis table shows the other attack patterns and high level categories that are related to this attack pattern. These relationships are defined as ChildOf and ParentOf, and give insight to similar items that may exist at higher and lower levels of abstraction. In addition, relationships such as CanFollow, PeerOf, and CanAlsoBe are defined to show similar attack patterns that the user may want to explore.
ChildOfMeta Attack PatternMeta Attack Pattern - A meta level attack pattern in CAPEC is a decidedly abstract characterization of a specific methodology or technique used in an attack. A meta attack pattern is often void of a specific technology or implementation and is meant to provide an understanding of a high level approach. A meta level attack pattern is a generalization of related group of standard level attack patterns. Meta level attack patterns are particularly useful for architecture and design level threat modeling exercises.122Privilege Abuse
ChildOfStandard Attack PatternStandard Attack Pattern - A standard level attack pattern in CAPEC is focused on a specific methodology or technique used in an attack. It is often seen as a singular piece of a fully executed attack. A standard attack pattern is meant to provide sufficient details to understand the specific technique and how it attempts to accomplish a desired goal. A standard level attack pattern is a specific type of a more abstract meta level attack pattern.278Web Services Protocol Manipulation
Section HelpThis table shows the views that this attack pattern belongs to and top level categories within that view.
+ Execution Flow
  1. Survey the target: Using a browser or an automated tool, an adversary records all instances of web services that process requests with serialized data.

    Use an automated tool to record all instances of URLs that process requests with serialized data.
    Use a browser to manually explore the website and analyze how the application processes serialized data requests.
  1. Craft malicious payload: The adversary crafts malicious data message that contains references to sensitive files.

  2. Launch an External Linking attack: Send the malicious crafted message containing the reference to a sensitive file to the target URL.

+ Prerequisites
The target must follow external data references without validating the validity of the reference target.
+ Skills Required
[Level: Low]
To send serialized data messages with maliciously crafted schema.
+ Resources Required
None: No specialized resources are required to execute this type of attack.
+ Consequences
Section HelpThis 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.
Read Data
+ Mitigations
Configure the serialized data processor to only retrieve external entities from trusted sources.
+ Example Instances

The following DTD would attempt to open the /dev/tty device:

<!DOCTYPE doc [ <!ENTITY ent SYSTEM "file:///dev/tty"> ]>

A malicious actor could use this crafted DTD to reveal sensitive information.

The following XML snippet would attempt to open the /etc/passwd file:

<foo xmlns:xi=""> <xi:include parse="text" href="file:///etc/passwd"/></foo>
+ Taxonomy Mappings
Section HelpCAPEC mappings to ATT&CK techniques leverage an inheritance model to streamline and minimize direct CAPEC/ATT&CK mappings. Inheritance of a mapping is indicated by text stating that the parent CAPEC has relevant ATT&CK mappings. Note that the ATT&CK Enterprise Framework does not use an inheritance model as part of the mapping to CAPEC.
Relevant to the ATT&CK taxonomy mapping (see parent )
+ References
[REF-73] "XXE (Xml eXternal Entity) Attack". Beyond Security. <>.
[REF-74] "CESA-2007-002 - rev 2: Sun JDK6 breaks XXE attack protection". <>.
+ Content History
Submission DateSubmitterOrganization
(Version 2.6)
CAPEC Content TeamThe MITRE Corporation
Modification DateModifierOrganization
(Version 2.11)
CAPEC Content TeamThe MITRE Corporation
Updated Activation_Zone, Attack_Phases, Attacker_Skills_or_Knowledge_Required, Description, Description Summary, Examples-Instances, Injection_Vector, Methods_of_Attack, Payload, Payload_Activation_Impact, Resources_Required, Typical_Likelihood_of_Exploit, Typical_Severity
(Version 2.12)
CAPEC Content TeamThe MITRE Corporation
Updated Attack_Phases, Description Summary, Related_Attack_Patterns, Related_Weaknesses
(Version 3.3)
CAPEC Content TeamThe MITRE Corporation
Updated @Name, Description, Execution_Flow, Mitigations, Skills_Required
(Version 3.4)
CAPEC Content TeamThe MITRE Corporation
Updated Consequences, Description
(Version 3.6)
CAPEC Content TeamThe MITRE Corporation
Updated Description, Example_Instances, Execution_Flow, Prerequisites
(Version 3.8)
CAPEC Content TeamThe MITRE Corporation
Updated Example_Instances, Related_Attack_Patterns
Previous Entry Names
Change DatePrevious Entry Name
(Version 2.12)
XML Entity Blowup
(Version 3.3)
XML Entity Linking
More information is available — Please select a different filter.
Page Last Updated or Reviewed: July 30, 2020