Summary
CVE-2026-88789 is an Improper Restriction of XML External Entity Reference (XXE) vulnerability in the XSLT support extension of Apache Camel Quarkus (camel-quarkus-support-xalan). An attacker who can supply the XML document being transformed can read local files or issue requests to internal network locations via external entity declarations. The flaw carries a CVSS v3.1 base score of 8.6 (High).
Technical details
- Root cause:
camel-quarkus-support-xalansupplies its own Xalan-backedTransformerFactoryto thexsltcomponent and registers it as the JAXP default. - Xalan-J 2.7.x predates JAXP 1.5 and does not honor
javax.xml.XMLConstants.ACCESS_EXTERNAL_DTDorACCESS_EXTERNAL_STYLESHEET, so the external-access restrictions Apache Camel normally applies to itsTransformerFactoryare not in effect. - Trigger conditions: on the
xsltcomponent path, the issue affects message bodies that reach the transformer already as ajavax.xml.transform.Source. Bodies of other types (String, byte[], InputStream) are converted by Apache Camel to aSAXSourcewith external entities and external DTD loading disabled, and are not affected. - Because the vulnerable factory is also registered as the JAXP default, any other code in the application that obtains a
TransformerFactoryviaTransformerFactory.newInstance()silently loses the same restrictions. - Attack vector: network — an attacker supplies a crafted XML document (containing an external entity declaration) that is processed by the affected transformer.
- Impact: disclosure of local files and the ability to issue requests to internal network resources (SSRF-style access), with no impact on integrity or availability.
Affected software
- Apache Camel Quarkus 3.2.0 through 3.33.2 (inclusive)
- Apache Camel Quarkus 3.34.0 through 3.39.x (inclusive)
- Affected when any of the following extensions are on the classpath:
camel-quarkus-xslt,camel-quarkus-xslt-saxon,camel-quarkus-tika,camel-quarkus-xmlsecurity(the latter three are exposed only through the JAXP default factory, not direct XSLT transformation)
Severity
- CVSS v3.1 Base Score: 8.6 (High)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Mitigation and recommended actions
- Immediate: Upgrade to Apache Camel Quarkus 3.33.3 (LTS branch) or 3.40.0 (current branch), which fix the issue.
- If immediate upgrade is not possible:
- Avoid passing untrusted
javax.xml.transform.Sourceobjects directly toxsltendpoints; instead supply message bodies as String, byte[], or InputStream so Apache Camel converts them to aSAXSourcewith external entity and external DTD loading disabled. - Where application code relies on JAXP’s default
TransformerFactory.newInstance(), explicitly request the JDK implementation (com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl) rather than relying on the default lookup, to avoid picking up the vulnerable Xalan-backed factory.
- Avoid passing untrusted

