/

CVE-2026-88901

Severity:

HIGH RISK

(8.2)

XML External Entity (CWE-611) in Apache Camel Smooks

CVE-2026-88901

Undergoing Analysis

Vulnerability type

Category:

XML External Entity (XXE)

CWE:

CWE-611

Impact:

Local File Disclosure and Server-Side Request Forgery

Severity:

HIGH RISK

(8.2)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

An XML External Entity (XXE) vulnerability in Apache Camel's Smooks component allows attacker-controlled XML bodies to reference external entities. When those bodies are unmarshalled with the default XML reader, an attacker may read files accessible to the Camel process or cause requests to internal network locations.

An XML External Entity (XXE) vulnerability in Apache Camel's Smooks component allows attacker-controlled XML bodies to reference external entities. When those bodies are unmarshalled with the default XML reader, an attacker may read files accessible to the Camel process or cause requests to internal network locations.

Affected context

The issue occurs in Apache Camel deployments using the camel-smooks component or Smooks data format to unmarshal XML messages with the default reader. It becomes risky when untrusted XML can reach the Smooks endpoint or route and the underlying parser permits external general entities, parameter entities, or external DTDs. Configurations that explicitly use EDI, CSV, JSON, or custom readers are generally outside this XML parsing path.

The issue occurs in Apache Camel deployments using the camel-smooks component or Smooks data format to unmarshal XML messages with the default reader. It becomes risky when untrusted XML can reach the Smooks endpoint or route and the underlying parser permits external general entities, parameter entities, or external DTDs. Configurations that explicitly use EDI, CSV, JSON, or custom readers are generally outside this XML parsing path.

Exploit preconditions

  • Attack surface: A Camel route, endpoint, or data format using camel-smooks to process XML
  • Required access: Ability to submit or influence an XML message body accepted by that route
  • Trigger point: XML unmarshalling through the default Smooks reader
  • Why exploitation is possible: External entity and DTD resolution remains enabled, allowing references in the XML document to be resolved by the Camel process
  • Attack surface: A Camel route, endpoint, or data format using camel-smooks to process XML
  • Required access: Ability to submit or influence an XML message body accepted by that route
  • Trigger point: XML unmarshalling through the default Smooks reader
  • Why exploitation is possible: External entity and DTD resolution remains enabled, allowing references in the XML document to be resolved by the Camel process

Why this happens

The vulnerability results from insufficient hardening of the XML parser used by the Smooks component. External general entities, parameter entities, and external DTDs are resolved during parsing, causing attacker-controlled XML declarations to be treated as references to local files or network resources. This behavior maps to CWE-611: Improper Restriction of XML External Entity Reference, where XML processing does not adequately disable external resource resolution for untrusted input.

The vulnerability results from insufficient hardening of the XML parser used by the Smooks component. External general entities, parameter entities, and external DTDs are resolved during parsing, causing attacker-controlled XML declarations to be treated as references to local files or network resources. This behavior maps to CWE-611: Improper Restriction of XML External Entity Reference, where XML processing does not adequately disable external resource resolution for untrusted input.

Potential impact

  • An attacker may read files accessible to the Camel process
  • The application could disclose sensitive configuration, credentials, or operational data
  • The Camel process may issue requests to internal or otherwise restricted network locations
  • Server-side request forgery could enable internal service discovery or interaction
  • Returned entity content could affect downstream message processing or data handling
  • An attacker may read files accessible to the Camel process
  • The application could disclose sensitive configuration, credentials, or operational data
  • The Camel process may issue requests to internal or otherwise restricted network locations
  • Server-side request forgery could enable internal service discovery or interaction
  • Returned entity content could affect downstream message processing or data handling

General mitigation guidance

Mitigation generally focuses on disabling external XML resource resolution for untrusted messages and reducing parser trust in document-supplied entities.

Common defensive patterns include:

  • Use XML parsers configured to disable external general entities, parameter entities, and external DTD loading by default
  • Prefer secure, namespace-aware parser configurations and explicitly restrict permitted XML features
  • Avoid enabling external entity resolution unless a narrowly controlled legacy workflow requires it
  • Separate trusted and untrusted XML processing paths and apply security policies to each
  • Limit the Camel process's filesystem permissions and outbound network access
  • Use a maintained Apache Camel release containing the parser-hardening fix
  • Validate message formats and enforce route-level authorization before XML reaches Smooks

Mitigation generally focuses on disabling external XML resource resolution for untrusted messages and reducing parser trust in document-supplied entities.

Common defensive patterns include:

  • Use XML parsers configured to disable external general entities, parameter entities, and external DTD loading by default
  • Prefer secure, namespace-aware parser configurations and explicitly restrict permitted XML features
  • Avoid enabling external entity resolution unless a narrowly controlled legacy workflow requires it
  • Separate trusted and untrusted XML processing paths and apply security policies to each
  • Limit the Camel process's filesystem permissions and outbound network access
  • Use a maintained Apache Camel release containing the parser-hardening fix
  • Validate message formats and enforce route-level authorization before XML reaches Smooks

How teams detect issues like this

Detection can include:

  • Static analysis for XML parser configurations that enable external entities or external DTDs
  • Code and configuration review of camel-smooks routes, Smooks data formats, and custom reader settings
  • Tests using benign external-entity and external-DTD indicators to verify that resolution is blocked
  • Network monitoring for unexpected outbound requests from Camel services during XML processing
  • File-access monitoring for reads of sensitive paths by Camel application processes
  • Policy enforcement requiring secure XML parser settings and disallowing untrusted XML in routes without explicit review

Automated security scanners and code-review tools may help identify unsafe XML parsing patterns.

Detection can include:

  • Static analysis for XML parser configurations that enable external entities or external DTDs
  • Code and configuration review of camel-smooks routes, Smooks data formats, and custom reader settings
  • Tests using benign external-entity and external-DTD indicators to verify that resolution is blocked
  • Network monitoring for unexpected outbound requests from Camel services during XML processing
  • File-access monitoring for reads of sensitive paths by Camel application processes
  • Policy enforcement requiring secure XML parser settings and disallowing untrusted XML in routes without explicit review

Automated security scanners and code-review tools may help identify unsafe XML parsing patterns.

Sources

SourceLink
camel.apache.orgcamel.apache.org/security/CVE-2026-88901.html
github.comgithub.com/apache/camel/pull/26270
github.comgithub.com/apache/camel/pull/26327
github.comgithub.com/apache/camel/pull/26329
issues.apache.orgissues.apache.org/jira/browse/CAMEL-24677

Frequently asked

questions

It may be remotely exploitable when an externally reachable Camel route accepts attacker-controlled XML and passes it to the affected Smooks processing path.

The attacker generally needs the ability to submit or influence an XML message body processed by camel-smooks. Direct access to the host or filesystem is not necessarily required.

Use a secure XML parser configuration that disables external general entities, parameter entities, and external DTD loading by default, and use a maintained release containing the relevant hardening.

Treat XML from external senders as untrusted, enforce secure parser policies in code review and CI, restrict application filesystem and network privileges, and monitor unexpected file or network access during XML processing.

It may be remotely exploitable when an externally reachable Camel route accepts attacker-controlled XML and passes it to the affected Smooks processing path.

The attacker generally needs the ability to submit or influence an XML message body processed by camel-smooks. Direct access to the host or filesystem is not necessarily required.

Use a secure XML parser configuration that disables external general entities, parameter entities, and external DTD loading by default, and use a maintained release containing the relevant hardening.

Treat XML from external senders as untrusted, enforce secure parser policies in code review and CI, restrict application filesystem and network privileges, and monitor unexpected file or network access during XML processing.

Find out what's already
exploitable in your codebase.