Severity: 
    CVSS 3.1: 5.3 (medium) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Affected versions:

- Apache Camel (org.apache.camel:camel-cxf) 4.0.0 before 4.18.5
- Apache Camel (org.apache.camel:camel-cxf) 4.19.0 before 4.22.1
- Apache Camel (org.apache.camel:camel-cxf) 4.18.5 unaffected
- Apache Camel (org.apache.camel:camel-cxf) 4.22.1 unaffected
- Apache Camel (org.apache.camel:camel-cxf) 4.23.0 unaffected

Description:

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.

Solution:

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.

Work Arounds:

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.

Credit:

Claude Security (finder)
Andrea Cosentino (remediation developer)

References:

https://camel.apache.org/security/CVE-2026-85257.html
https://issues.apache.org/jira/browse/CAMEL-24477
https://github.com/apache/camel/pull/25742
https://github.com/apache/camel/pull/25934
https://github.com/apache/camel/pull/25935
https://camel.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-85257

Reply via email to