home / blog

2026-10-29 · high

CVE-2026-90885: XML External Entity in Apache Camel

XXE in Apache Camel Saxon XQuery. File reading and SSRF possible. Fix for supported versions.

CVE-2026-90885: XML External Entity in Apache Camel

CVE-2026-90885 identifies a defect in Apache Camel's camel-saxon component, in XQueryBuilder. The vulnerability is Improper Restriction of XML External Entity Reference (CWE-611): when the message body is a javax.xml.transform.Source, Camel passes it to Saxon without XXE protection, allowing external entities in XML to expand. It affects XQuery routes processing data from untrusted external senders, especially with body converted to Source or stream-based Source.

The vulnerability scores CVSS 7.5 (HIGH), published on NVD on 2026-10-26. On the same date this article is written, a public GitHub reproducer appeared confirming reproducibility. The attack exploits Saxon's default Configuration without requiring non-standard setup. Versions from 4.0.0 through before 4.22.2 are vulnerable. An attacker can read files accessible to Camel and trigger outbound requests to hosts declared in the DOCTYPE.

Immediate upgrade for supported versions: 4.23.0 (recommended), 4.22.2 (4.22.x branch), 4.18.5 (4.18.x branch). Branches 4.14.x and earlier, 4.15.x-4.17.x, and 4.19.x-4.21.x are EOL with no patch and require migration. Meanwhile, do not process XQuery on Source with XML from untrusted senders. Temporary mitigation: configure camel-saxon with a Saxon Configuration that refuses DOCTYPE and disables external entities.

At a glance

What
Improper Restriction of XML External Entity Reference (CWE-611) in camel-saxon component. XQueryBuilder fails to enforce XXE protections when message body is already a javax.xml.transform.Source, allowing external entity expansion declared in XML.
Severity
CVSS 7.5 (HIGH). Impact: confidentiality (file reading), integrity (manipulation), availability (DoS). Requires untrusted XML input and body as pre-built Source.
Affected versions
Apache Camel from 4.0.0 before 4.18.5, and from 4.19.0 before 4.22.2. No patch (EOL): 4.14.x and earlier, 4.15.x-4.17.x, 4.19.x-4.21.x.
Fix
Upgrade to: 4.23.0 (latest), 4.22.2 (4.22.x series), 4.18.5 (4.18.x series). Explicit Saxon Configuration denying DOCTYPE and disabling external entities as temporary workaround.
Status
Verified and confirmed. Public reproducer on GitHub (2026-10-29). Patches available for supported versions since 2026-10-26.
Action
1. Inventory Apache Camel deployments. 2. Identify affected versions. 3. For supported versions: plan upgrade within 30 days. 4. For EOL: plan migration. 5. Interim: avoid XQuery processing on Source with untrusted XML. 6. Configure Saxon with external entities disabled.

Sources: NVD, CVE-2026-90885

← All articles