Description
The software processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output.
Modes of Introduction:
– Implementation
Related Weaknesses
Consequences
Confidentiality: Read Application Data, Read Files or Directories
If the attacker is able to include a crafted DTD and a default entity resolver is enabled, the attacker may be able to access arbitrary files on the system.
Integrity: Bypass Protection Mechanism
The DTD may include arbitrary HTTP requests that the server may execute. This could lead to other attacks leveraging the server’s trust relationship with other entities.
Availability: DoS: Resource Consumption (CPU), DoS: Resource Consumption (Memory)
The software could consume excessive CPU cycles or memory using a URI that points to a large file, or a device that always returns data such as /dev/random. Alternately, the URI could reference a file that contains many nested or recursive entity references to further slow down parsing.
Potential Mitigations
Phase: Implementation, System Configuration
Description:
Many XML parsers and validators can be configured to disable external entity expansion.
CVE References
- CVE-2005-1306
- A browser control can allow remote attackers to determine the existence of files via Javascript containing XML script.
- CVE-2012-5656
- XXE during SVG image conversion
- CVE-2012-2239
- XXE in PHP application allows reading the application’s configuration file.
- CVE-2012-3489
- XXE in database server
- CVE-2012-4399
- XXE in rapid web application development framework allows reading arbitrary files.
- CVE-2012-3363
- XXE via XML-RPC request.
- CVE-2012-0037
- XXE in office document product using RDF.
- CVE-2011-4107
- XXE in web-based administration tool for database.
- CVE-2010-3322
- XXE in product that performs large-scale data analysis.
- CVE-2009-1699
- XXE in XSL stylesheet functionality in a common library used by some web browsers.
More Stories
The Most Dangerous Vulnerabilities in Apache Tomcat and How to Protect Against Them
Apache Tomcat is an open-source web server and servlet container that is widely used in enterprise environments to run Java...
ZDI-CAN-18333: A Critical Zero-Day Vulnerability in Microsoft Windows
Zero-day vulnerabilities are a serious threat to cybersecurity, as they can be exploited by malicious actors to gain unauthorized access...
CWE-669 – Incorrect Resource Transfer Between Spheres
Description The product does not properly transfer a resource/behavior to another sphere, or improperly imports a resource/behavior from another sphere,...
CWE-67 – Improper Handling of Windows Device Names
Description The software constructs pathnames from user input, but it does not handle or incorrectly handles a pathname containing a...
CWE-670 – Always-Incorrect Control Flow Implementation
Description The code contains a control flow path that does not reflect the algorithm that the path is intended to...
CWE-671 – Lack of Administrator Control over Security
Description The product uses security features in a way that prevents the product's administrator from tailoring security settings to reflect...