- What is CWE-91?
- The product does not properly neutralize special elements that are used in XML, allowing attackers to modify the syntax, content, or commands of the XML before it is processed by an end system.
- What CVEs are caused by CWE-91?
- 69 recorded CVEs are attributed to CWE-91, including CVE-2020-0646, CVE-2021-4140, CVE-2025-66034. 1 are listed in CISA's Known Exploited Vulnerabilities (KEV) catalog.
- Is CWE-91 part of the OWASP Top 10?
- CWE-91 maps to OWASP Top Ten 2007: Injection Flaws (A2) in the OWASP security taxonomy.
- How do you prevent CWE-91?
- Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
- How is CWE-91 detected?
- Automated Static Analysis: Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
- What are the consequences of CWE-91?
- Exploiting CWE-91 can lead to: Execute Unauthorized Code or Commands, Read Application Data, Modify Application Data.
- Is CWE-91 actively exploited?
- Yes. 1 CWE-91 vulnerabilities are in CISA's KEV catalog of actively exploited flaws, out of 69 recorded CVEs.