Apache Camel Smooks XML External Entity Flaw Enables File Read and SSRF
A high-severity flaw in Apache Camel’s Smooks component allows attackers to read local files and probe internal networks via crafted XML messages.
Key points
- CVE-2026-88901 affects Apache Camel versions 4.7.0 through 4.18.4 and 4.19.0 through 4.22.0.
- The vulnerability stems from the default Woodstox SAX parser resolving external entities and DTDs without hardening.
- Patches are available in versions 4.18.5, 4.22.1, and 4.23.0, which disable external entity resolution by default.
The Smooks component in Apache Camel contains a high-severity vulnerability, tracked as CVE-2026-88901, that permits unauthorized file access and server-side request forgery. According to the National Vulnerability Database, this flaw results from improper restriction of XML external entity references. Environments using the default XML reader in camel-smooks are exposed to this risk when processing untrusted input.
Root cause
The issue exists because the Smooks component uses the Woodstox SAX parser by default to process incoming XML bodies. This parser resolves external general and parameter entities and loads external Document Type Definitions. Unlike other XML components in Apache Camel, camel-smooks did not apply standard parser hardening measures. Consequently, the component expanded external entities declared in the XML document during unmarshalling. The resolved content was then bound into the unmarshalled result and returned on InOut routes, exposing the underlying data to the attacker.
Attack path
An attacker must supply a crafted XML message body to a system using the vulnerable Smooks component or data format. The XML document must contain a DOCTYPE with an external subset or an external general entity declaration. When the process unmarshalls this body, it resolves the declared entities. This action allows the attacker to read files that are readable by the Apache Camel process. It also enables the process to issue requests to internal network locations specified in the document. No non-default configuration options are required to trigger this behavior.
Affected versions
- Apache Camel 4.7.0 through 4.18.4
- Apache Camel 4.19.0 through 4.22.0
- Versions prior to 4.14.x reached end of life and will not receive a fix
- Configurations using EDI, CSV, JSON, or custom readers are not affected
Mitigation
- Upgrade to Apache Camel 4.23.0 for the latest patch
- Upgrade to Apache Camel 4.18.5 if using the 4.18.x LTS stream
- Upgrade to Apache Camel 4.22.1 if using the 4.22.x LTS stream
- Do not apply camel-smooks to XML received from untrusted senders if immediate upgrade is not possible
Signals worth monitoring
Teams usually detect this activity by reviewing outbound network connections from application servers that do not typically initiate requests. Check whether the Camel process is attempting to connect to unexpected internal hosts or external domains. Look for XML parsing errors or unusual latency in logs associated with Smooks endpoints.
Examine file access logs for reads of sensitive configuration files or credentials by the service account running the Camel instance. If these indicators appear, isolate the affected host immediately. Review the XML payloads in transit to identify malicious DOCTYPE declarations. Ensure that monitoring covers both successful and failed connection attempts from the application layer.
Background: Server-side request forgery (SSRF)
Developers leave systems open to server-side request forgery by skipping URL validation, allowing internal IP access, and ignoring redirect chains. Each mistake lets attackers pivot from your public web server into private databases, cloud metadata services, or internal admin panels. Fix these gaps by enforcing allowlists and disabling automatic redirects.
Read the full guide: 7 SSRF Mistakes That Expose Internal Networks to Attack
What to do and how to stay safe: Apache Camel
- Verify which versions of Apache Camel are running in your production and development environments.
- Check if any services use the default Smooks XML reader for processing inbound messages from external sources.
- Restrict network access for the Camel process to prevent it from initiating requests to internal resources.
- Monitor application logs for XML parsing errors or unexpected outbound traffic once the vendor provides an update.
Step-by-step guide: Attack Surface Management: 6 Common Misreadings and Correct Views
General security guidance from the NetSec Observer newsroom. It is not confirmed advice from the organisations named in this story.
Frequently asked questions
Which Apache Camel versions are vulnerable to CVE-2026-88901?
Versions 4.7.0 through 4.18.4 and 4.19.0 through 4.22.0 are affected. Versions prior to 4.14.x are no longer supported.
Does this vulnerability affect all Smooks configurations?
No. Configurations that declare their own reader, such as EDI, CSV, JSON, or a custom reader, do not use the vulnerable XML reader.
Is there a fix available for this vulnerability?
Yes. Patches are available in Apache Camel versions 4.18.5, 4.22.1, and 4.23.0. These updates disable external entity resolution by default.




