CAPEC Definitions

    CAPEC Definitions / CAPEC-221

    CAPEC-221: Data Serialization External Entities Blowup

    This attack takes advantage of the entity replacement property of certain data serialization languages (e.g., XML, YAML, etc.) where the value of the replacement is a URI. A well-crafted file could have the entity refer to a URI that consumes a large amount of resources to create a denial of service condition. This can cause the system to either freeze, crash, or execute arbitrary code depending on the URI.

    Severity:
    Possibility:

    Extended Description

    No Extended Description.

    Mitigations

    This attack may be mitigated by tweaking the XML parser to not resolve external entities. If external entities are needed, then implement a custom XmlResolver that has a request timeout, data retrieval limit, and restrict resources it can retrieve locally.

    This attack may be mitigated by tweaking the serialized data parser to not resolve external entities. If external entities are needed, then implement a custom resolver that has a request timeout, data retrieval limit, and restrict resources it can retrieve locally.

    Relationships with other CAPECs

    CAPEC-231: Oversized Serialized Data Payloads

    CAPEC-278: Web Services Protocol Manipulation

    Prerequisites

    A server that has an implementation that accepts entities containing URI values.

    Related Weaknesses

    CWE-611: Improper Restriction of XML External Entity Reference