CVE-2026-43865: Apache Camel: Camel-Hazelcast: Unsafe Java deserialization in default-configured managed Hazelcast instances enables remote code execution
Deserialization of Untrusted Data vulnerability in Apache Camel Hazelcast component.
The camel-hazelcast component creates and manages Hazelcast instances using a default configuration that applies no Java deserialization filter. When Camel builds the Hazelcast Config itself - that is, when no user-supplied HazelcastInstance, hazelcastConfigUri, or referenced Config bean is provided - neither Hazelcast's JavaSerializationFilterConfig nor a Camel-side ObjectInputFilter is configured, so objects received over the Hazelcast cluster protocol are deserialized inside Hazelcast's own serialization layer (ObjectInputStream.readObject) before Camel ever processes them. An attacker who can join or otherwise reach the Hazelcast cluster can publish a crafted serialized Java object that is then deserialized on every Camel node, resulting in remote code execution. The exposure is present by default and requires no opt-in endpoint configuration: any route using a hazelcast consumer (hazelcast-topic, hazelcast-queue, hazelcast-seda, hazelcast-map, hazelcast-multimap, hazelcast-replicatedmap, hazelcast-list, hazelcast-set), as well as the HazelcastAggregationRepository and HazelcastIdempotentRepository, is affected whenever the managed instance is created from Camel's default configuration. This issue affects Apache Camel: from 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0.
Users are recommended to upgrade to version 4.21.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. The fix makes Camel apply a default Hazelcast JavaSerializationFilterConfig (whitelisting the java., javax. and org.apache.camel. class-name prefixes and blacklisting java.net.) to instances it creates from its own default configuration, while leaving any user-supplied Config or HazelcastInstance untouched. For deployments that cannot upgrade immediately, configure a deserialization filter on the Hazelcast instance (Hazelcast JavaSerializationFilterConfig, or the JVM-wide system property -Djdk.serialFilter=!java.net.;java.;javax.;org.apache.camel.;!) and enable Hazelcast cluster authentication and TLS to restrict who can reach the cluster.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 4.14.8 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 4.18.3 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 4.21.0 - Configuration
For deployments that cannot upgrade immediately, configure a deserialization filter on the Hazelcast instance using Hazelcast JavaSerializationFilterConfig (whitelisting java., javax. and other prefixes as described).
Apache Camel camel-hazelcast managed Hazelcast instance Hazelcast JavaSerializationFilterConfig = (as per Camel default fix) whitelisting class-name prefixes: java., javax. - Configuration
As an alternative for deployments that cannot upgrade immediately, set the JVM-wide system property -Djdk.serialFilter=!java.net.**;java.**;javax.**;org.apache.camel.**;!* to apply a Java deserialization filter for untrusted data.
JVM (system property) -Djdk.serialFilter = !java.net.**;java.**;javax.**;org.apache.camel.**;!* - Configuration
Enable Hazelcast cluster authentication and TLS to restrict who can reach the Hazelcast cluster (compensating mitigation until upgrade).
Hazelcast cluster cluster authentication and TLS = enabled - Compensating control
If you cannot upgrade, ensure only authenticated and TLS-protected access to the Hazelcast cluster so an attacker cannot join/reach the cluster to publish crafted serialized objects.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-43865?
CVE-2026-43865 has a severity rating of 85, indicating a high risk of exploitation.
What are the implications of CVE-2026-43865?
CVE-2026-43865 enables remote code execution due to unsafe Java deserialization in default-configured managed Hazelcast instances.
How do I fix CVE-2026-43865?
To fix CVE-2026-43865, ensure that Java deserialization filters are applied to the Hazelcast instances.
Which software is affected by CVE-2026-43865?
CVE-2026-43865 affects the Apache Camel Hazelcast component.
When was CVE-2026-43865 published?
CVE-2026-43865 was published on July 6, 2026.