Apache Camel camel-jgroups: Unsafe Java deserialization in JGroups consumer
Summary
The JGroups consumer of camel-jgroups deserializes incoming cluster messages with Java serialization without a filter by default. An attacker on an adjacent network who can reach the cluster's UDP multicast group or bind port without credentials can send a crafted serialized object. If a usable deserialization gadget chain is on the classpath, this can lead to remote code execution in the Camel process. The CVSS base score is 8.8 (high), and no exploitation has been confirmed.
Affected
- Apache Camel from 4.0.0 before 4.18.5
- Apache Camel from 4.19.0 before 4.22.1
- Release lines 4.14.x and earlier, 4.15.x to 4.17.x and 4.19.x to 4.21.x are end of life and will not receive a fix
Fixed in
- 4.23.0 (recommended)
- 4.22.1 for the 4.22.x stream
- 4.18.5 for the 4.18.x stream
Workaround
- Set a JVM-wide serialization filter with the jdk.serialFilter system property on the JVM running the jgroups consumer, allowing only the classes the routes exchange over the cluster
- Secure the channel through the channelProperties option with the AUTH protocol plus SYM_ENCRYPT or ASYM_ENCRYPT
- Do not expose the cluster's multicast group or bind port to untrusted networks
Exploitation
- No evidence of exploitation in the wild found; CISA SSVC lists exploitation as none
- No public proof of concept found
- EPSS: Unknown
Our recommendation
- Check whether camel-jgroups is on the classpath and whether the jgroups consumer is used
- Upgrade to 4.23.0, or to 4.22.1 or 4.18.5 on those streams
- On 4.22.1 and 4.18.5, also configure a JVM-wide serialization filter or a secured channel, preferably both
- On 4.23.0, the consumer refuses to start until one of these controls is configured; plan the configuration before upgrading
- Migrate deployments on end-of-life release lines to a supported release
- Restrict access to the cluster's multicast and bind ports to trusted hosts
Public exploits
Links to third-party sites, not checked by us – exploit code can contain malware. Only use it in isolated test environments.
- Proof of concept on GitHub (1 repositories)
oscerd/CVE-2026-88900
Research sources
- Apache Camel Security Advisory CVE-2026-88900 camel.apache.org
- Apache Camel 4.23.0 release camel.apache.org
- CAMEL-24676 issues.apache.org
- CAMEL-25223 issues.apache.org
- Fix pull request 26267 github.com
- OSV entry CVE-2026-88900 osv.dev
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 31 Oct 2026, 15:51.
Original description (NVD)
Deserialization of Untrusted Data vulnerability in Apache Camel Camel-Jgroups component. This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1. JGroupsEndpoint.createExchange(Message), which CamelJGroupsReceiver calls for every message the jgroups consumer receives before the exchange is routed, set the exchange body from org.jgroups.Message.getObject(). For an ObjectMessage, which is the message type the Camel jgroups producer sends, JGroups Java-deserializes the payload through an ObjectInputStream on its own receive thread as the message arrives, and getObject() returns the resulting object. No java.io.ObjectInputFilter was applied on that path unless the deployment had set a JVM-wide serialization filter: camel-jgroups installed none, and the JGroups versions shipped with the affected releases apply none of their own, so any serializable class on the application classpath could be instantiated and its deserialization callbacks run. Unless a channel or the channelProperties option is configured, the consumer creates its channel with new JChannel(), the stock JGroups protocol stack, which multicasts over UDP without the AUTH protocol and without encryption, so any host able to reach the cluster's multicast group or bind port can join the cluster and send messages to the consumer without credentials. Such a host could send a crafted serialized object that leads to remote code execution in the Camel process when a usable deserialization gadget chain is present on the classpath, and no non-default option was required on the consumer. Because JGroups materializes the object before Camel's receiver runs, a check performed by Camel can only inspect the deserialized result and cannot stop code that runs during deserialization, so closing the issue also requires a control that applies before the payload is read, as described in the mitigation. Exploitation requires network access to the cluster's multicast group or bind port, which with the default UDP multicast transport means a host on an adjacent network, and a usable gadget chain on the classpath, which is why the severity is assessed as high rather than critical. Users are recommended to upgrade to version 4.23.0, which fixes the issue. If users are on the 4.22.x releases stream, then they are suggested to upgrade to 4.22.1. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.5. The 4.14.x releases stream and earlier, and the 4.15.x to 4.17.x and 4.19.x to 4.21.x release lines, reached end of life before this issue was resolved and will not receive a fix, so deployments on those lines must move to a supported release.
NVD references (10)
- https://camel.apache.org/security/CVE-2026-40860.html
- https://camel.apache.org/security/CVE-2026-88900.html
- https://github.com/apache/camel/pull/26267
- https://github.com/apache/camel/pull/26281
- https://github.com/apache/camel/pull/26282
- https://github.com/apache/camel/pull/26283
- https://github.com/apache/camel/pull/26326
- https://github.com/apache/camel/pull/27205
- https://issues.apache.org/jira/browse/CAMEL-24676
- https://issues.apache.org/jira/browse/CAMEL-25223
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
