Skip to main content

Apache Camel EUVDEUVD-2026-109959

| CVE-2026-90885 HIGH
Improper Restriction of XML External Entity Reference (CWE-611)
2026-10-26 apache GHSA-xv62-j8hg-7h33
7.5
CVSS 3.1 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send untrusted XML with external-entity DOCTYPE to Camel route
  2. Delivery
    Route presents body as stream-based Source to XQuery
  3. Exploit
    Saxon default Configuration resolves external entity/DTD
  4. Execution
    Read local files or issue SSRF requests
  5. Impact
    Exfiltrate file contents to attacker

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration XML external entity prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that an XQuery expression or the xquery component/language evaluate a message body that is already a javax.xml.transform.Source AND that the Source is stream-based (so Saxon must parse it itself). This arises when a route calls convertBodyTo(Source.class), or when an earlier component/processor sets the body to a stream-based Source, before XQuery evaluation. The attacker must get untrusted XML containing a DOCTYPE with an external subset or an external entity onto that path. What LIMITS exploitation: bodies of type String, byte[], or InputStream are NOT vulnerable because Camel's XML type converters build a hardened, external-entity-safe Source for them; a route that does not convert to or set a Source body is not exposed; and only Apache Camel 4.0.0-4.18.4 and 4.19.0-4.22.1 are affected. No non-default Saxon option is required - the vulnerable default Configuration is used whenever the route does not supply its own.

Impact

This is a CWE-611 XML External Entity flaw in Apache Camel's camel-saxon XQuery support, scored CVSS 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) with confidentiality-only impact. The network, no-privilege, no-interaction vector reflects that an external sender's XML can reach the vulnerable parser, but the signals must be read together: the vuln.today priority is 'this_week' (not act_now/emergency), no EPSS score and no CISA KEV entry were provided, and no public exploit is listed - so there is no evidence of active or widespread exploitation, and this is a prioritized-but-not-emergency patching item rather than a drop-everything event. Critically, the CVSS PR:N/UI:N vector overstates real-world reachability: exploitation does not fire against a default standalone deployment but only when a route evaluates XQuery over a message body that is ALREADY a stream-based javax.xml.transform.Source (e.g. after convertBodyTo(Source.class) or when an upstream processor set a Source body). String, byte[] and InputStream bodies are NOT affected because Camel's XmlConverter hardens those paths - this materially narrows the attack surface to specific route designs, a nuance the raw score does not capture. Where that route condition holds, impact is genuine (arbitrary local file read limited to files readable by the Camel process, plus SSRF to attacker-named hosts).

Exploit ScenarioDerived

An external party submits XML to an Apache Camel route that converts the message body to a javax.xml.transform.Source and evaluates it with the XQuery language or xquery endpoint. The XML carries a DOCTYPE with an external entity (e.g. SYSTEM "file:///etc/passwd" or a http:// URL); Saxon's default, unhardened Configuration resolves and expands it, leaking the file's contents into the evaluated document or forcing the process to connect to an attacker-chosen host. No public exploit is identified at time of analysis, though the fix PR (apache/camel#26344) includes a regression test with a working XXE canary payload demonstrating the issue.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 26, 2026

XML external entity (XXE) processing in Apache Camel's camel-saxon XQuery support lets remote unauthenticated attackers read files readable by the Camel process and make the process issue requests to attacker-named hosts when untrusted XML is evaluated as a stream-based javax.xml.transform.Source. The flaw affects Apache Camel 4.0.0 through 4.18.4 and 4.19.0 through 4.22.1; String, byte[] and InputStream bodies are not exposed because Camel's XML converters are already hardened. Vendor patches are available in 4.23.0, with branch fixes in 4.22.2 and 4.18.5, and no public exploit has been identified at time of analysis.

RemediationAI

Upgrade to Apache Camel 4.23.0, which contains the vendor fix; deployments on the 4.22.x stream should upgrade to 4.22.2 and deployments on the 4.18.x stream to 4.18.5. The 4.14.x and earlier streams and the 4.15.x through 4.17.x and 4.19.x through 4.21.x release lines are end-of-life and will not receive a fix, so move those deployments to a supported release. If an immediate upgrade is not possible, do not evaluate XQuery over a message body that is already a javax.xml.transform.Source when that body carries XML from an untrusted sender, or set the configuration option of the xquery endpoint or language to a Saxon Configuration whose parse options refuse a DOCTYPE declaration and disable external entities and external DTD loading; note that this rejects documents containing a DOCTYPE, while bodies without one are unaffected. Vendor advisory: https://camel.apache.org/security/CVE-2026-90885.html; patch PRs: https://github.com/apache/camel/pull/26344, https://github.com/apache/camel/pull/26728, https://github.com/apache/camel/pull/26730.

Affected VersionsENISA

Apache Camel 4.0.0 <4.18.5
Apache Camel 4.19.0 <4.22.2

Affected Packages

euvd apache_camel fix: 4.18.5, 4.22.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is CWE-611 (Improper Restriction of XML External Entity Reference). XQueryBuilder in camel-saxon builds a default Saxon Configuration whose ParseOptions set only a whitespace-stripping rule, leaving XML parser defaults in place, so a DOCTYPE declaration is accepted and external entities are resolved. Message bodies of type String or byte[], and any body read as an InputStream, are converted to a javax.xml.transform.Source by Camel's own XML type converters, which disable external entity resolution; a body that is already a Source is handed to Saxon unchanged, and a stream-based Source is then parsed by Saxon with the permissive Configuration. This is reachable when a route calls convertBodyTo(Source.class), or when an earlier component or processor sets a stream-based Source body, before an xquery expression or xquery endpoint evaluates it. CPE data identifies apache_software_foundation:apache_camel as the affected product. The upstream fix in PR 26344 sets disallow-doctype-decl to true and disables external general entities, external parameter entities and external DTD loading in the default Configuration, matching the secure defaults already used by Camel's XmlConverter and camel-xslt-saxon.

Know when Apache Camel gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (apache) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

For an affected route the attacker only sends XML (AV:N/AC:L/PR:N/UI:N); the route-design precondition is not an attacker-side complexity factor; impact is local-file disclosure (C:H) with no integrity or availability effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

Improper Restriction of XML External Entity Reference vulnerability in Apache Camel Saxon component.

This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.2.

XQueryBuilder in camel-saxon, which evaluates expressions for the xquery language and the xquery component, built its default Saxon Configuration with parse options that set only a whitespace stripping rule, leaving the XML parser at its defaults, under which a DOCTYPE declaration is accepted and external entities are resolved. A message body of type String or byte[], or any body read as an InputStream, is first turned into a javax.xml.transform.Source by Camel's own XML type converters, which configure the parser against external entities, so those bodies were not affected. A body that was already a Source, however, was handed to Saxon unchanged, and when that Source still had to be parsed, as a stream-based Source does, Saxon parsed it with that Configuration, bypassing the protection applied to the other body types. Such a body arises, for example, after a route converts the message with convertBodyTo(Source.class), or when a component or processor earlier in the route sets the body to a stream-based Source. A DOCTYPE with an external subset, or an external entity, declared in that body was therefore resolved and expanded into the document the expression was evaluated against. An external sender whose XML reaches an XQuery expression or an xquery endpoint in that form could read files readable by the Camel process and cause the process to issue requests to hosts the document names. No non-default option is required, since the default Configuration is used whenever the route does not supply one of its own.

Users are recommended to upgrade to version 4.23.0, which fixes the issue. If users are on the 4.22.x releases stream, then they are suggested to upgrade to 4.22.2. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.5. The 4.14.x releases stream and earlier, as well as the 4.15.x to 4.17.x and 4.19.x to 4.21.x release lines, reached end of life before this issue was resolved and will not receive a fix, so deployments on them must move to a supported release. For deployments that cannot upgrade immediately, do not evaluate XQuery over a message body that is already a javax.xml.transform.Source when that body carries XML from an untrusted sender, or set the configuration option of the xquery endpoint or language to a Saxon Configuration whose parse options refuse a DOCTYPE declaration and disable external entities and external DTD loading, which is what the fixed releases now apply by default.

Executive ViewAI

Why It Matters

Apache Camel's camel-saxon XQuery component contains an XXE vulnerability that can allow unauthenticated attackers to read sensitive files accessible to the Camel process and exfiltrate them via outbound requests. This affects a core integration framework used for enterprise messaging and data transformation, meaning any production environment running vulnerable versions could leak configuration secrets, credentials, or business data. Leadership should prioritize remediation because the flaw is remotely exploitable and could undermine trust in integration-layer security.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 52% exploitable
Prevalence
Medium
widely-used Java integration framework, but Saxon XQuery is an optional component
Social Media
2
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

XML External Entity (XXE) attacks exploit XML parsers that process Document Type Definitions (DTDs) without proper restrictions.

CVE-2026-33453 CRITICAL POC
10.0 Apr 27

Remote code execution in Apache Camel's camel-coap component (versions 4.14.0-4.14.5, 4.18.0 before 4.18.1, and 4.19.0)

CVE-2026-40858 HIGH POC
8.8 Apr 27

Unsafe Java deserialization in Apache Camel's camel-infinispan component allows arbitrary code execution when the ProtoS

CVE-2026-78162 CRITICAL
10.0 Oct 19

Unauthenticated remote code execution affects the camel-hazelcast component of Apache Camel 4.0.0 through 4.18.4 and 4.1

CVE-2026-71300 CRITICAL
9.8 Aug 24

Header-injection in the Apache Camel camel-atmosphere-websocket producer lets an external sender hijack WebSocket messag

CVE-2026-78329 CRITICAL
9.8 Aug 24

Header-filter bypass in the Apache Camel Undertow component (4.11.0-4.14.8, 4.15.0-4.18.3, and 4.19.0-4.21.x) lets remot

CVE-2026-47323 CRITICAL
9.8 May 19

Remote code execution in Apache Camel 3.18.0-4.14.5 and 4.15.0-4.18.1 stems from CXF and Knative HeaderFilterStrategy im

CVE-2026-33454 CRITICAL
9.4 Apr 27

Message header injection in Apache Camel's camel-mail component (3.0.0 before 4.14.6 and 4.15.0 before 4.18.1) lets an a

CVE-2026-46590 HIGH
8.8 Jul 06

Remote code execution via unsafe Java deserialization affects the camel-pqc component of Apache Camel 4.18.0-4.18.2 and

CVE-2026-27172 HIGH
8.8 Apr 27

Unsafe Java deserialization in Apache Camel's camel-consul component (ConsulRegistry / ConsulRegistryUtils.deserialize)

CVE-2026-88900 HIGH
8.8 Oct 19

Unauthenticated deserialization of attacker-controlled messages in Apache Camel's camel-jgroups consumer can lead to rem

CVE-2026-83531 HIGH
8.8 Oct 19

Expression language injection in the Apache Camel dynamic-router-control endpoint allows a party who can place a message

CVE-2026-78165 HIGH
8.8 Oct 19

Deserialization of untrusted data in the Apache Camel Spring Redis component (camel-spring-redis) allows an authenticate

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy