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