Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach PQC verify endpoint
-
DeliverySend concurrent signed exchanges
-
ExploitInterleave shared Signature state
-
Executionverify() resolves against wrong data
-
ImpactUnverified message accepted as valid
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitable only when a route uses the camel-pqc component's signature sign/verify operation and the producer is invoked by concurrent exchanges through the same endpoint - the default for a Camel route under load with multiple concurrent consumers. The core prerequisite is concurrency: the single shared, stateful java.security.Signature instance must have two exchanges interleaving their init/update/verify sequences. Limiting factors that reduce real-world risk: high attack complexity (AC:H) because the race window is timing-dependent and non-deterministic rather than attacker-controlled; the issue is confined to deployments actually using PQC signature verification; and the vendor-documented mitigation of restricting the affected route to a single concurrent consumer eliminates the condition entirely without upgrading. |
| Impact | This is a moderate, integrity-focused flaw that should be prioritized by the small subset of deployments actually using the Apache Camel PQC component, but is not a broad emergency. The vendor CVSS (5.9, AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N) correctly captures the shape: network-reachable, no privileges or user interaction, but high attack complexity because success depends on a non-deterministic race window, and the only impact is integrity (C:N/A:N). No EPSS score was provided, there is no CISA KEV listing (not actively exploited per available data), and no public exploit identified at time of analysis - so all three exploitation-pressure signals are either absent or negative, reinforcing that this is a correctness/security-guarantee defect rather than a weaponized bug. The signals are internally consistent (no contradiction between the vector and the description), with one nuance: AC:H plus the race-condition root cause means exploitation is opportunistic/probabilistic rather than reliably attacker-controlled, so the real-world danger is less 'attacker forges a signature on demand' and more 'under concurrent load the component silently accepts a message whose signature was never checked.' The severity that matters is contextual - where this component is the security boundary (signature verification), a false 'verified' result fully defeats the control it exists to provide. |
| Exploit ScenarioDerived | An application routes messages through a Camel PQC endpoint that verifies post-quantum signatures, with the normal multiple-concurrent-consumer configuration. Under concurrent traffic, two exchanges interleave on the single shared java.security.Signature instance so that one message's verify() consumes another message's accumulated state, causing the component to set VERIFY=true for a message whose signature was never actually validated. No public exploit code is known, and the high attack complexity means the outcome is non-deterministic rather than reliably triggerable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Signature verification in the Apache Camel PQC component can be silently defeated when concurrent exchanges share the producer's single stateful java.security.Signature instance, allowing a message to be reported as verified even though its signature was never actually checked against its own payload. Affected are Apache Camel releases from 4.12.0 before 4.18.5 and from 4.19.0 before 4.22.1 that use the camel-pqc sign/verify operations; remote, unauthenticated attackers who can drive concurrent traffic through such a route may interleave init/update/verify sequences. Exploitation is timing-dependent and non-deterministic (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N, 5.9), and no public exploit was identified at time of analysis; the practical prerequisite is a concurrently invoked PQC signing endpoint, which is the ordinary condition for a loaded Camel route. Vendor-released fixes exist in 4.23.0, 4.18.5 and 4.22.1.
RemediationAI
Upgrade to Apache Camel 4.23.0, which no longer shares the Signature instance across concurrent exchanges; users on the 4.18.x LTS stream should move to 4.18.5 and users on the 4.22.x LTS stream to 4.22.1, both of which carry the backported fix (upstream patches are visible in PRs apache/camel#25825, #25850 and #25851, and the advisory is at https://camel.apache.org/security/CVE-2026-85248.html). If an immediate upgrade is not possible, the vendor-documented workaround is to restrict the affected PQC route to a single concurrent consumer (for example a single-threaded route or a concurrency of one) so no two exchanges can use the shared Signature instance at once; the trade-off is a loss of throughput and parallelism on that route, and it requires that every path into the component, including the hybrid sign/verify operations, be constrained. Note that supplying a user-configured Signature instance via the PQCDefault*Material fields still results in a JVM-wide shared object even after patching, so such configurations should be avoided or externally serialized; monitoring for verification results that do not correspond to the submitted payload is not a reliable compensating control given the non-deterministic nature of the race.
Affected VersionsENISA
Affected Packages
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 flaw is a CWE-362 race condition on a shared resource inside the camel-pqc producer (PQCProducer), which is a singleton invoked concurrently by Camel's routing engine. The producer held one java.security.Signature object obtained via Signature.getInstance(algorithm, provider) and reused it for every exchange. JCA Signature objects are stateful and explicitly not thread-safe: initSign/initVerify reset state, update() accumulates the bytes to be signed or verified, and sign()/verify() consume that accumulated buffer. When two exchanges interleave, a concurrent initVerify can reset the object between another exchange's updates and its verify(), or updates from two messages can merge into one buffer, so verification may complete against data belonging to a different exchange or against a partially accumulated buffer. The fix (GitHub PR apache/camel#25825 and follow-ups #25850, #25851) adds signerForExchange()/classicalSignerForExchange() helpers that mint a fresh Signature per exchange when the producer created the algorithm itself, and fall back to handing back the user-configured instance (PQCDefault*Material.signer fields are public static final and can be shared JVM-wide) with the caller synchronizing on it. The hybrid sign/verify paths take both the PQC and classical locks in a fixed PQC-first nesting order to avoid deadlock. The affected technology is the post-quantum cryptography component of the Apache Camel integration framework, layered on the Java Cryptography Architecture and Bouncy Castle providers.
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
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Race condition makes exploitation timing-dependent (AC:H); network-reachable route traffic needs no privileges or interaction (AV:N/PR:N/UI:N); only signature-verification integrity is defeated (I:H, C:N/A:N).
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
DescriptionCVE.org
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') vulnerability in Apache Camel PQC component.
This issue affects Apache Camel: from 4.12.0 before 4.18.5, from 4.19.0 before 4.22.1.
The producer held a single java.security.Signature instance and used it for every exchange without synchronizing access. Signature is stateful and is not thread safe: update() accumulates the data to be signed or verified, and verify() consumes that accumulated state. With concurrent exchanges sharing one instance the update and verify calls of different messages interleave, so a verification can complete against data that belongs to another exchange, or against a partially accumulated buffer. The outcome is non-deterministic and includes a verification reporting success for a message whose signature was never actually checked, which defeats the guarantee the component exists to provide. Reaching it requires concurrent traffic through the same endpoint, which is the ordinary condition for a Camel route under load.
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. The Signature instance is no longer shared across concurrent exchanges. For deployments that cannot upgrade immediately, restrict the affected route to a single concurrent consumer so that no two exchanges use the instance at once.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).
More in Apache Camel
View allRemote 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)
Unsafe Java deserialization in Apache Camel's camel-infinispan component allows arbitrary code execution when the ProtoS
Unauthenticated remote code execution affects the camel-hazelcast component of Apache Camel 4.0.0 through 4.18.4 and 4.1
Header-injection in the Apache Camel camel-atmosphere-websocket producer lets an external sender hijack WebSocket messag
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
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
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
Remote code execution via unsafe Java deserialization affects the camel-pqc component of Apache Camel 4.18.0-4.18.2 and
Unsafe Java deserialization in Apache Camel's camel-consul component (ConsulRegistry / ConsulRegistryUtils.deserialize)
Unauthenticated deserialization of attacker-controlled messages in Apache Camel's camel-jgroups consumer can lead to rem
Expression language injection in the Apache Camel dynamic-router-control endpoint allows a party who can place a message
Deserialization of untrusted data in the Apache Camel Spring Redis component (camel-spring-redis) allows an authenticate
EUVD-2026-104189
GHSA-c82p-3629-24h6
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB