-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 - --- title: "Apache Camel Security Advisory - CVE-2026-43865" date: 2026-07-03T10:00:00+02:00 url: /security/CVE-2026-43865.html draft: false type: security-advisory cve: CVE-2026-43865 severity: MEDIUM summary: "Camel-Hazelcast: Unsafe Java deserialization in default-configured managed Hazelcast instances enables remote code execution" description: "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." mitigation: "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." credit: "This issue was discovered by gaorenyusi" affected: "From 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0." fixed: 4.14.8, 4.18.3 and 4.21.0 - --- The JIRA ticket: https://issues.apache.org/jira/browse/CAMEL-23414 refers to the various commits that resolved the issue, and have more details. The fix was merged on main in https://github.com/apache/camel/pull/22943 (commit 7a309042f22493082647a410d9d8cafd672b1c74) and backported to camel-4.18.x (commit 5caf4368551f6d3b61690d5db03869491390d446) and camel-4.14.x (commit 974a11b5ed5e2d50722f33aa48f61898395ea45b). This issue is distinct from the Hazelcast library deserialization advisories CVE-2016-10750 and CVE-2022-36418, which concern Hazelcast's own code; this advisory concerns Apache Camel not applying the deserialization protections that Hazelcast and other Camel components already provide. It belongs to the same Camel deserialization-hardening family as CVE-2026-25747. The issue is classified as CWE-502 (Deserialization of Untrusted Data). -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEJ2Y0ButtuvUpHyYV406fOAL/QQAFAmpHoh4ACgkQ406fOAL/ QQDN7QgAl2X1rj8azDfXk+q/57I9BTgXcERXbe3e3Y8DuvC8hhZ6T1KeTTKtGZGa 5vI/I99GI5xMZmLPzmoYJ01rX9VkefZ686PosgtUaWR9qz2MkCrL99jLnhQmGcix EaC1SRosK0jHU9Mk2pibb9/C7n1xxy1/RcxVfXJfHQVluMkd9vIvg3rp2MzxVX9W hkjtxKVbLHtICHmTgHWawq9DYSv7UVjBejfRIBenWY8WozAqh92bkluB4oPIPXpm lna8XQGxR9UjgkHAuHcaazeIoxvBK+ZTO0TUjzGQpUhyp5eQp1PHNDijVE5HazuY Btb+OHO4w8d/D1Xk09ic3rOZkC2FDw== =TU4i -----END PGP SIGNATURE-----