Skip to main content

Apache Camel Thrift CVE-2026-85245

| EUVDEUVD-2026-104186 MEDIUM
Exposure of Data Element to Wrong Session (CWE-488)
2026-10-19 apache GHSA-ww26-c733-j3r5
5.9
CVSS 3.1 · Vendor: apache
View

Attack ChainAIDerived

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

  1. Access
    Reach shared multi-tenant Camel Thrift route
  2. Exploit
    Send Thrift payload omitting optional fields
  3. Execution
    Shared defaultInstance retains prior sender's values
  4. Impact
    Receive another tenant's leaked field data

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V14 - Data Protection Exposure of data element to wrong session
Exploitation Conditions

Exploitation requires a deployment that uses the camel-thrift Thrift data format's unmarshal operation on a route shared across more than one tenant or user, where the same data format instance (and its shared defaultInstance of the target type) processes messages from different parties. The leak surfaces specifically through optional/absent fields: a later message that omits a field inherits the previous message's value, and concurrent exchanges can observe each other's partially written state. Limiting factors that reduce real-world risk: single-tenant deployments, routes not using the Thrift data format, or deployments already on fixed releases (4.18.5, 4.22.1, 4.23.0) are unaffected; high attack complexity means the attacker must influence message sequencing/timing rather than deterministically forcing the disclosure. No authentication is required of the sender (PR:N).

Impact

This is a genuine but moderate-priority data-confidentiality flaw whose real-world risk is tightly bounded by its exploitation preconditions. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N, base 5.9 Medium) reflects a network-reachable, unauthenticated issue with high attack complexity and confidentiality-only impact - no integrity or availability effect. The AC:H rating is the dominant discriminator: exploitation depends on a specific deployment shape (one Camel route with the Thrift data format serving multiple tenants/users) plus the timing/sequencing of messages through the shared defaultInstance, which an attacker cannot reliably force. No EPSS score was supplied, so exploitation probability cannot be quantified from the input. KEV status is not present, so this is not confirmed actively exploited; there is no public exploit code either - the GitHub artifacts are the vendor patch and an isolation unit test, not a weaponized POC. The signals are internally consistent rather than conflicting: a Medium CVSS driven by high complexity, no KEV, and no POC all point to a real correctness/leakage bug that matters for multi-tenant operators but is not a drop-everything mass-exploitation threat. The practical consequence - one tenant reading another tenant's message fields - is serious in shared SaaS/multi-tenant integration contexts but irrelevant in single-tenant deployments or routes not using the Thrift data format.

Exploit ScenarioDerived

In a multi-tenant Apache Camel integration that unmarshals inbound Thrift messages on a shared route, tenant B sends a Thrift payload that omits one or more optional fields; because the data format deserializes into a process-wide shared defaultInstance, those omitted fields still carry the values left behind by tenant A's prior message, and tenant B receives A's data in the returned exchange body. Concurrent exchanges can similarly observe each other's partially written state. No public exploit code exists; triggering the leak reliably requires the attacker to influence message timing/sequencing on the shared route, consistent with the high attack complexity.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 19, 2026

In the camel-thrift data format, unmarshalled messages are deserialized into a process-wide shared defaultInstance and that same object is returned as the exchange body, so state from one message survives into the next. Senders who omit optional fields in a later payload inherit the previous sender's values, and concurrent exchanges can observe each other's partially written state - disclosing one tenant's data to another. Affected are Apache Camel 4.0.0 through 4.18.4 and 4.19.0 through 4.22.0; no public exploit identified at time of analysis, and exploitation requires a genuinely multi-tenant route using the Thrift data format plus attacker influence over message sequencing or timing (CVSS 5.9, AC:H, PR:N).

RemediationAI

Vendor-released patch: upgrade to Apache Camel 4.23.0; users on the 4.18.x LTS stream should upgrade to 4.18.5 and users on the 4.22.x LTS stream to 4.22.1, which deserialize into a cleared deep copy so each exchange receives its own instance. Patches are visible in the upstream pull requests https://github.com/apache/camel/pull/25823, https://github.com/apache/camel/pull/25940 and https://github.com/apache/camel/pull/25942, with the advisory at https://camel.apache.org/security/CVE-2026-85245.html. If an immediate upgrade is not possible, copy the unmarshalled body into a newly constructed instance straight after the data format runs and never retain a reference to the returned object - this closes the cross-message inheritance path but adds a copy per message and must be applied on every route using thrift unmarshalling, since a single missed route leaves the leak open. As an additional compensating control, split multi-tenant traffic onto per-tenant routes with separately instantiated ThriftDataFormat objects (or serialize access to a shared route) so no data format instance is reused across trust boundaries; this costs route/config duplication and reduced throughput under serialization, and does not fix the underlying shared-object defect if a single instance is still reused. Because exploitation depends on message ordering and concurrency, keeping the thrift unmarshal path single-threaded per tenant further reduces - but does not eliminate - exposure.

Affected VersionsENISA

Apache Camel 4.19.0 <4.22.1
Apache Camel 4.0.0 <4.18.5

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 camel-thrift component wraps Apache Thrift's TBase serialization as a Camel data format. A Camel DataFormat instance is shared by every exchange on a route, and the component held a single defaultInstance of the target TBase type that was passed to the Thrift deserializer on each unmarshal. Thrift's TBase.read() only assigns the fields actually present in the incoming bytes - it does not reset the object - so any field absent from a payload retained whatever value the prior message (or the configured default) had written. The returned body was that same shared object, meaning two exchanges could hold references to identical mutable state, and unsynchronized concurrent reads/writes could expose partially populated fields. This maps to CWE-488 (Exposure of Data Element to Wrong Session): session-scoped data is stored in a scope that outlives the session. The upstream fix (apache/camel pull requests 25823, 25940, 25942) replaces the shared instance with defaultInstance.deepCopy() followed by clear(), deserializes into that fresh copy, and returns it, so each exchange gets an isolated object; a regression test (ThriftUnmarshalIsolationTest) asserts that omitted optional fields no longer inherit prior or default values and that successive unmarshals return distinct objects. A related Thrift caveat applies: TBase instances are not thread-safe, so sharing them across concurrent exchanges also risked data races rather than only sequential leakage.

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 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 5.9 MEDIUM

Network-reachable and unauthenticated (AV:N/PR:N), but needs a multi-tenant shared-route deployment plus message-timing conditions (AC:H); confidentiality-only cross-tenant disclosure, no integrity/availability impact.

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

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

Exposure of Data Element to Wrong Session vulnerability in Apache Camel Thrift component.

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

The Thrift data format unmarshalled incoming data into the shared defaultInstance of the target type rather than into a fresh copy, and returned that shared object as the exchange body. Because the instance is shared process-wide, state written while unmarshalling one message stayed on the object and was visible to every later message that used the same type. Fields absent from a later payload retained the previous message's values, so content belonging to one sender could be read while processing another sender's message, and concurrent exchanges could observe each other's partially written state. In a deployment that serves more than one tenant or user through the same route, that is disclosure of one party's data to another.

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. Unmarshalling now deserializes into a copy, so each exchange gets its own instance and no state carries between messages. For deployments that cannot upgrade immediately, copy the unmarshalled body into a new instance immediately after the data format runs, and do not retain references to the returned object.

Threat Intelligence Overview

EPSS Score
0.5%
Top 62% exploitable
Prevalence
Medium
Apache Camel is common in enterprise integration, but the Thrift data format is a niche component
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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-78162 CRITICAL
10.0 Oct 19

Unauthenticated remote code execution affects the camel-hazelcast component of Apache Camel 4.0.0 through 4.18.4 and 4.1

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

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