Skip to main content

Apache Camel CVE-2026-78162

| EUVDEUVD-2026-104224 CRITICAL
Deserialization of Untrusted Data (CWE-502)
2026-10-19 apache GHSA-7j2m-8x69-fhvh
10.0
CVSS 4.0 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach unauthenticated Hazelcast cluster over network
  2. Exploit
    Publish malicious serialized Java object into backing map
  3. Execution
    Vulnerable Camel member deserializes value with no class filter
  4. Impact
    Execute arbitrary code on host

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a deployment using one of two specific camel-hazelcast paths without supplying its own Hazelcast configuration or instance: (1) a route using ReplicatedHazelcastAggregationRepository without a hazelcastInstance (its doStart() never called super.doStart(), so it missed the CVE-2026-43865 default JavaSerializationFilterConfig), or (2) a client-mode endpoint (hazelcastMode=client) where neither a referenced ClientConfig nor hazelcastConfigUri is provided, causing HazelcastDefaultComponent#getOrCreateHzClientInstance() to build an unfiltered ClientConfig. The attacker must additionally be able to publish entries into the Hazelcast cluster the instance is attached to; this is eased by Hazelcast's default of no authentication and no TLS. Limiting factors: affected versions only (4.0.0-4.18.5 excl., 4.19.0-4.22.1 excl.); a user-supplied Config with a JavaSerializationFilterConfig or an injected HazelcastInstance is never overwritten and fully mitigates; a JVM-wide -Djdk.serialFilter and enabling Hazelcast auth/TLS also limit exposure.

Impact

All severity signals point the same direction and reinforce one another. The vendor-assigned CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N with full H across VC/VI/VA and subsequent-system SC/SI/SA) scores 10.0 and describes a network-reachable, low-complexity, unauthenticated path to remote code execution - consistent with the description, which is a CWE-502 untrusted-data deserialization leading to RCE inside Hazelcast's serialization layer before Camel even processes the exchange. The deployment default amplifies this: Hazelcast clusters ship with neither authentication nor TLS, so the 'able to publish into the cluster' precondition is often met by anyone with network reach. No EPSS score, no CISA KEV entry, and no public exploit were provided, so there is no evidence of active exploitation yet; the GitHub links are patch diffs and a regression test, not weaponized proof-of-concept code. The realistic qualifier is exposure scope rather than exploitability: only specific configurations are affected (see exploitation_conditions), so this is a genuine high-priority patch for anyone running camel-hazelcast in those modes, but it is not a blanket 'every Camel install is RCE' situation. Note the Microsoft tag in the input is erroneous - this is an Apache Software Foundation product.

Exploit ScenarioDerived

An attacker with network access to an unauthenticated, non-TLS Hazelcast cluster that a vulnerable Camel instance has joined publishes a crafted serialized Java object (e.g. a gadget-chain payload) into the backing ReplicatedMap or map. When the Camel member reads that value it deserializes it with no class filter, executing attacker-controlled code on the host. No public exploit is identified at time of analysis, though CWE-502 Java gadget chains are well understood and the patch diff confirms the missing filter.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 19, 2026

Unauthenticated remote code execution affects the camel-hazelcast component of Apache Camel 4.0.0 through 4.18.4 and 4.19.0 through 4.22.0, where two self-built Hazelcast bootstrap paths create instances without the default JavaSerializationFilterConfig added for CVE-2026-43865. A route using ReplicatedHazelcastAggregationRepository without an injected hazelcastInstance, or a client-mode endpoint built by HazelcastDefaultComponent#getOrCreateHzClientInstance() when neither a ClientConfig nor hazelcastConfigUri is supplied, will accept and deserialize arbitrary Java objects published into the backing cluster, letting an attacker who can write into that cluster execute code before Camel ever processes the exchange. Hazelcast clusters ship without authentication or TLS by default, so the write prerequisite is often met in practice; no public exploit code or CISA KEV entry was identified at time of analysis, but the vendor has published fixed releases and the missing-filter condition requires no unsafe opt-in by the deployer.

RemediationAI

Vendor-released patch: upgrade to Apache Camel 4.23.0; deployments on the 4.22.x stream should move to 4.22.1 and those on 4.18.x to 4.18.5, which backport the fix (see https://camel.apache.org/security/CVE-2026-78162.html and the patch pull requests https://github.com/apache/camel/pull/25566, https://github.com/apache/camel/pull/25595, https://github.com/apache/camel/pull/25599 and https://github.com/apache/camel/pull/25600). The 4.14.x stream and earlier are end of life and must be migrated to a supported release. Where an immediate upgrade is not possible, supply an explicit Hazelcast Config carrying a JavaSerializationFilterConfig, or inject a pre-built HazelcastInstance, since Camel never overwrites a user-supplied configuration - the trade-off is that the whitelist must then cover every class your aggregation payloads legitimately use, or exchanges will fail to deserialize. As a JVM-wide compensating control, set -Djdk.serialFilter=!java.net.;java.;javax.;org.apache.camel.;!* to block deserialization of unexpected classes, accepting that it applies to all serialization in the process and may break unrelated libraries. Finally, enable Hazelcast cluster authentication and TLS to restrict who can publish into the cluster; this removes the write prerequisite for the attack but adds credential and certificate management overhead and must be rolled out to every cluster member simultaneously.

Affected VersionsENISA

Apache Camel 4.0.0 <4.18.5
Apache Camel 4.19.0 <4.22.1

Affected Packages

euvd apache_camel fix: 4.18.5, 4.22.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-502, deserialization of untrusted data, inside Hazelcast's own Java serialization layer rather than in Camel's exchange processing. Apache Camel's camel-hazelcast component gained a hardening change (CVE-2026-43865) that applies a default JavaSerializationFilterConfig to Hazelcast instances it bootstraps itself; the filter whitelists the class-name prefixes java., javax. and org.apache.camel. and blacklists java.net. Two code paths escaped that change. ReplicatedHazelcastAggregationRepository extends HazelcastAggregationRepository but overrides doStart() without invoking super.doStart(), so it keeps a private copy of the bootstrap block and never installs the filter. Separately, HazelcastDefaultComponent#getOrCreateHzClientInstance() constructs its own ClientConfig when hazelcastMode=client is selected and no referenced ClientConfig or hazelcastConfigUri is provided, so client-mode endpoints behaved differently from node-mode endpoints for an otherwise identical configuration. In both cases a Hazelcast member or client is created with unrestricted Java deserialization, and values read from the ReplicatedMap are deserialized before Camel sees them. Because Hazelcast enables neither authentication nor TLS by default, and because selecting client mode is a topology decision rather than a security opt-in, deployments could be exposed without taking any unsafe action. The corresponding fixes route both paths through HazelcastSerializationFilterHelper.applyDefault(cfg) and add regression tests asserting the filter is present on locally initialized instances of both repository types.

Know when Apache Camel gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (apache) PRIMARY 10.0 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
vuln.today AI 10.0 CRITICAL

Unauthenticated network publisher to a default no-auth cluster triggers deserialization RCE (PR:N/AC:L/AV:N); code execution escapes the Camel component to the host, so S:C with full C/I/A.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

DescriptionCVE.org

Deserialization of Untrusted Data vulnerability in Apache Camel.

This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.

The camel-hazelcast component applies a default Hazelcast JavaSerializationFilterConfig to the instances it creates from its own configuration, a protection introduced by CVE-2026-43865. That change did not reach two of the configuration paths Camel builds itself, so those paths continued to create Hazelcast instances whose Java deserialization is unrestricted. ReplicatedHazelcastAggregationRepository extends HazelcastAggregationRepository but overrides doStart() without calling super.doStart(), keeping its own copy of the bootstrap block, and therefore never received the filter: a route using it without supplying a hazelcastInstance starts a Hazelcast member that deserializes values read from the backing ReplicatedMap with no class restriction. HazelcastDefaultComponent#getOrCreateHzClientInstance() builds its own ClientConfig when hazelcastMode=client is selected and neither a referenced ClientConfig nor hazelcastConfigUri is supplied, and likewise applied no filter, so client-mode endpoints behaved differently from node-mode endpoints for an otherwise identical configuration. In both cases an attacker able to publish into the Hazelcast cluster that the affected instance is attached to can cause a serialized Java object of their choosing to be deserialized inside Hazelcast's own serialization layer, before Camel processes the exchange, resulting in remote code execution. Hazelcast clusters have neither authentication nor TLS enabled by default. Selecting client mode is a topology choice rather than a security option, so neither path required the deployment to opt in to unsafe behaviour.

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 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. For deployments that cannot upgrade immediately, supply an explicit Hazelcast configuration carrying a JavaSerializationFilterConfig, or inject a pre-built HazelcastInstance, since a user-supplied configuration is never overwritten by Camel. Alternatively set the JVM-wide filter -Djdk.serialFilter=!java.net.;java.;javax.;org.apache.camel.;!* and enable Hazelcast cluster authentication and TLS to restrict who can reach the cluster.

Executive ViewAI

Why It Matters

Apache Camel's camel-hazelcast component, used to build integration routes across the 4.0.0-4.18.4 and 4.19.0-4.22.0 release lines, can deserialize attacker-supplied Java objects and execute code before a route ever processes a message. Because Hazelcast clusters are commonly deployed without authentication or TLS, any team running replication or client-mode routes against a shared cluster may already expose a path to full host compromise, putting integration platforms and the systems they connect at risk. No public exploit code or confirmed active exploitation was identified at time of analysis, so this is a patch-window issue rather than an active incident, but leadership should treat the remediation as urgent given the maximum severity rating and the breadth of downstream systems these routes touch.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
Medium
Apache Camel widely deployed, but camel-hazelcast component in affected modes is niche
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2026-33453 CRITICAL POC
10.0 Apr 27

Remote code execution in Apache Camel's camel-coap component (versions 4.14.0-4.14.5, 4.18.0 before 4.18.1, and 4.19.0)

CVE-2026-40858 HIGH POC
8.8 Apr 27

Unsafe Java deserialization in Apache Camel's camel-infinispan component allows arbitrary code execution when the ProtoS

CVE-2026-71300 CRITICAL
9.8 Aug 24

Header-injection in the Apache Camel camel-atmosphere-websocket producer lets an external sender hijack WebSocket messag

CVE-2026-78329 CRITICAL
9.8 Aug 24

Header-filter bypass in the Apache Camel Undertow component (4.11.0-4.14.8, 4.15.0-4.18.3, and 4.19.0-4.21.x) lets remot

CVE-2026-47323 CRITICAL
9.8 May 19

Remote code execution in Apache Camel 3.18.0-4.14.5 and 4.15.0-4.18.1 stems from CXF and Knative HeaderFilterStrategy im

CVE-2026-33454 CRITICAL
9.4 Apr 27

Message header injection in Apache Camel's camel-mail component (3.0.0 before 4.14.6 and 4.15.0 before 4.18.1) lets an a

CVE-2026-46590 HIGH
8.8 Jul 06

Remote code execution via unsafe Java deserialization affects the camel-pqc component of Apache Camel 4.18.0-4.18.2 and

CVE-2026-27172 HIGH
8.8 Apr 27

Unsafe Java deserialization in Apache Camel's camel-consul component (ConsulRegistry / ConsulRegistryUtils.deserialize)

CVE-2026-88900 HIGH
8.8 Oct 19

Unauthenticated deserialization of attacker-controlled messages in Apache Camel's camel-jgroups consumer can lead to rem

CVE-2026-83531 HIGH
8.8 Oct 19

Expression language injection in the Apache Camel dynamic-router-control endpoint allows a party who can place a message

CVE-2026-78165 HIGH
8.8 Oct 19

Deserialization of untrusted data in the Apache Camel Spring Redis component (camel-spring-redis) allows an authenticate

CVE-2026-46591 HIGH
8.2 Jul 06

Cypher injection in Apache Camel's camel-neo4j producer allows attackers who control JSON key names in the CamelNeo4jMat

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy