CVE-2026-88789: Apache Camel Quarkus: Camel Quarkus: Forced Xalan TransformerFactory drops upstream external-DTD/stylesheet hardening
Improper Restriction of XML External Entity Reference in the XSLT support extension (camel-quarkus-support-xalan) in Apache Camel Quarkus from 3.2.0 before 3.33.3 and from 3.34.0 before 3.40.0 on all platforms allows an attacker who supplies the XML document being transformed to read local files or issue requests to internal network locations via an external entity declaration in that document.
The extension supplies its own Xalan-backed TransformerFactory to the xslt component and registers it as the JAXP default. Xalan-J 2.7.x predates JAXP 1.5 and does not honour javax.xml.XMLConstants.ACCESSEXTERNALDTD or ACCESSEXTERNALSTYLESHEET, so the external access restrictions Apache Camel applies to the TransformerFactory it creates were not in effect. On the xslt component path this affects message bodies that reach the transformer already as a javax.xml.transform.Source; bodies of other types are converted to a SAXSource by Apache Camel with external entities and external DTD loading disabled, and are not affected. Because the factory is also the JAXP default, other code in the application obtaining one through TransformerFactory.newInstance() loses the same restrictions without error.
Applications are affected if they use any of camel-quarkus-xslt, camel-quarkus-xslt-saxon, camel-quarkus-tika or camel-quarkus-xmlsecurity, each of which brings the XSLT support extension onto the classpath. For all but camel-quarkus-xslt, the exposure is limited to the JAXP default factory, since those extensions do not perform XSLT transformations themselves.
Users are recommended to upgrade to version 3.33.3 or 3.40.0, which fixes this issue.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
camel-quarkus-support-xalanto a version that resolves this vulnerability.Fixed in 3.33.3 - Upgrade
Upgrade
camel-quarkus-support-xalanto a version that resolves this vulnerability.Fixed in 3.40.0
Event History
Frequently Asked Questions
Which versions require remediation?
The issue affects Apache Camel Quarkus versions from 3.2.0 before 3.33.3 and from 3.34.0 before 3.40.0. Upgrading to 3.33.3 or 3.40.0, as applicable, addresses the affected ranges.
Which XSLT inputs are exposed on the xslt component path?
The affected path is limited to message bodies that reach the transformer already as a javax.xml.transform.Source. Other body types are converted by Apache Camel to a SAXSource with external entities and external DTD loading disabled and are not affected on that path.
Can application code outside the Camel xslt component be affected?
Yes. The extension registers its Xalan-backed TransformerFactory as the JAXP default, so other application code that obtains a factory through TransformerFactory.newInstance() can also lose the expected external DTD and stylesheet access restrictions.
What must an attacker be able to control?
An attacker must be able to supply the XML document processed by the transformer. They can use an external entity declaration to attempt local-file reads or requests to internal network locations.