CVE-2025-53689: Apache Jackrabbit vulnerable to blind XXE attack due to insecure document build
8.8
Basic Information
Technical Details
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| org.apache.jackrabbit:jackrabbit-spi-commons | maven | >= 2.20.0, < 2.20.17 | 2.20.17 |
| org.apache.jackrabbit:jackrabbit-spi-commons | maven | >= 2.22.0, < 2.22.1 | 2.22.1 |
| org.apache.jackrabbit:jackrabbit-spi-commons | maven | >= 2.23.0-beta, < 2.23.2-beta | 2.23.2-beta |
| org.apache.jackrabbit:jackrabbit-core | maven | >= 2.23.0-beta, < 2.23.2-beta | 2.23.2-beta |
| org.apache.jackrabbit:jackrabbit-core | maven | >= 2.20.0, < 2.20.17 | 2.20.17 |
| org.apache.jackrabbit:jackrabbit-core | maven | >= 2.22.0, < 2.22.1 | 2.22.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability is a classic Blind XXE (XML External Entity) injection located in the XML parsing logic of Apache Jackrabbit. The root cause is the use of an insecurely configured javax.xml.parsers.DocumentBuilderFactory when parsing XML documents, which did not disable external entity processing. This allowed an attacker to craft a malicious XML payload containing external entity references, which the server would then process. This could lead to unauthorized data access from the local filesystem or server-side request forgery (SSRF) by forcing the server to make requests to arbitrary network resources.
The security patch addresses this issue in two main classes:
-
org.apache.jackrabbit.core.util.DOMWalker: The constructor of this class directly parses anInputStream. The patch introduces acreateFactorymethod that configures theDocumentBuilderFactoryto be secure by disabling DTDs and external entities. It also adds a defense-in-depthEntityResolverto theDocumentBuilderto explicitly block any entity resolution attempts. -
org.apache.jackrabbit.spi.commons.privilege.PrivilegeXmlHandler: This class is responsible for parsing privilege definitions from XML. The publicparsePrivilegesmethods were vulnerable. The patch applies the same security measures as inDOMWalker, creating a secureDocumentBuilderFactoryand adding a restrictiveEntityResolverin thecreateDocumentBuilderhelper method.
For a security engineer, this means any application component that allows users to supply XML that is eventually processed by either the DOMWalker constructor or the PrivilegeXmlHandler.parsePrivileges methods is an attack vector. Exploitation would involve submitting a crafted XML file, for example, during privilege registration or any other operation that involves these parsing utilities.