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-mina) 4.0.0 before 4.18.5
- Apache Camel (org.apache.camel:camel-mina) 4.19.0 before 4.22.1
- Apache Camel (org.apache.camel:camel-mina) 4.18.5 unaffected
- Apache Camel (org.apache.camel:camel-mina) 4.22.1 unaffected
- Apache Camel (org.apache.camel:camel-mina) 4.23.0 unaffected
Description:
Generation of Error Message Containing Sensitive Information vulnerability in
Apache Camel Mina component.
This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before
4.22.1.
When processing of an exchange failed, the Mina consumer wrote
exchange.getException() straight back over the socket to the remote peer. Over
a textline codec that hands the peer the exception's class name and message;
over the object codec it hands over the serialised exception, cause chain
included. A remote peer able to provoke a failure could therefore read internal
detail about the deployment - class and package names, and whatever a message
or nested cause happens to carry, which in practice can include paths, host
names and connection detail. The consumer had no option to suppress this,
unlike the HTTP-family consumers aligned by CAMEL-23651.
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 the route exception with a generic one carrying no class name,
message or stack trace, while still writing a reply so that a synchronous peer
is not left to time out. Set muteException=false to restore the previous
behaviour. For deployments that cannot upgrade immediately, add an onException
handler that sets the reply body explicitly, so the framework never writes the
exception back to the peer.
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 the route exception with a generic one carrying no class name,
message or stack trace, while still writing a reply so that a synchronous peer
is not left to time out. Set muteException=false to restore the previous
behaviour.
Work Arounds:
For deployments that cannot upgrade immediately, add an onException handler
that sets the reply body explicitly, so the framework never writes the
exception back to the peer.
Credit:
Claude Security (finder)
Andrea Cosentino (remediation developer)
References:
https://camel.apache.org/security/CVE-2026-85246.html
https://issues.apache.org/jira/browse/CAMEL-24476
https://github.com/apache/camel/pull/25741
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-85246