CVE-2026-85257: Apache Camel: Camel-CXF Information Disclosure via Unmuted Consumer Exceptions
Generation of Error Message Containing Sensitive Information vulnerability in Apache Camel CXF component.
This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.
When a route behind a CXF SOAP consumer failed with an exception the service contract does not declare, the exception was described back to the SOAP client in the fault: CXF copies the message into the SOAP faultstring, and can be configured to place the stack trace in the fault detail. An external caller able to provoke a failure could therefore read internal detail about the deployment - class and package names, and whatever the exception message carries. Declared faults, annotated @WebFault, are a different matter: those are part of the published contract that clients are written against, and suppressing them would break the service rather than protect anything.
Upgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. A muteException consumer option, defaulting to true, replaces an undeclared route failure with a generic fault carrying no class name, message or stack trace. Faults the contract declares are reported exactly as before. Set muteException=false to restore the previous output. For deployments that cannot upgrade immediately, declare the exceptions the service is allowed to report and map every other failure onto one of them in an onException handler, so no undeclared exception reaches the fault.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Apache Camelto a version that resolves this vulnerability.Fixed in 4.23.0 - Upgrade
Upgrade
Apache Camelto a version that resolves this vulnerability.Fixed in 4.18.5 - Upgrade
Upgrade
Apache Camelto a version that resolves this vulnerability.Fixed in 4.22.1 - Configuration
Set muteException=false to restore the previous output.
Apache Camel CXF muteException = false - Compensating control
For deployments that cannot upgrade immediately, declare the exceptions the service is allowed to report and use an onException handler to map every other failure onto one of those declared exceptions, preventing undeclared exceptions from reaching the SOAP fault.
Event History
Frequently Asked Questions
Which deployments are exposed to this issue?
Apache Camel routes behind a CXF SOAP consumer are affected in versions 4.0.0 through before 4.18.5, and 4.19.0 through before 4.22.1. Exposure occurs when an undeclared exception can be triggered in the route.
What would an attacker need to do to obtain information?
An external SOAP caller needs to provoke a route failure that results in an exception not declared by the service contract. The resulting SOAP fault can reveal exception messages and class or package names, and may include a stack trace if CXF is configured to put one in fault details.
Are declared SOAP faults affected?
No. Faults declared by the service contract, including exceptions annotated with @WebFault, are expected client-visible behavior and are treated differently from undeclared route failures.
What should teams do if they cannot upgrade immediately?
Configure the CXF consumer muteException option, which defaults to true in the fixed releases. It replaces an undeclared route failure with a generic SOAP fault that does not include the exception class name or message.
Which versions contain the fix?
Upgrade to Apache Camel 4.23.0. For the LTS release streams, upgrade to 4.18.5 or 4.22.1, as applicable.