Apache Camel-Atmosphere-Websocket WebSocket Dispatch Header Injection (CVE-2026-71300)
Detects exploitation attempts and vulnerable deployments of Apache Camel camel-atmosphere-websocket affected by CVE-2026-71300 (CVSS 9.8, CWE-20). The camel-atmosphere-websocket producer selected its target WebSocket peers using Exchange header values whose header names fell OUTSIDE the filtered Camel header namespace. Because these attacker-controllable HTTP/message headers were not stripped by the Camel header filter strategy, a remote attacker able to influence inbound headers can inject dispatch-control headers (e.g. sendToAll / connection-key style targeting) and redirect, broadcast, or spoof WebSocket messages to arbitrary connected peers. This detection surfaces HTTP requests carrying anomalous WebSocket dispatch headers, Camel routes logging unfiltered header propagation, and the presence of affected artifact versions (>= 4.0.0 < 4.14.9, >= 4.15.0 < 4.18.4, >= 4.19.0 < 4.22.0).
Vulnerability Intelligence
Public PoCAffected Software
- Vendor
- maven
- Product
- org.apache.camel:camel-atmosphere-websocket
- Versions
- >= 4.0.0, < 4.14.9, >= 4.15.0, < 4.18.4, >= 4.19.0, < 4.22.0
Weakness (CWE)
Timeline
- Disclosed
- August 24, 2026
References & Proof of Concept
- PoChttps://github.com/advisories/GHSA-m5r8-w65q-8wjf
- https://nvd.nist.gov/vuln/detail/CVE-2026-71300
- https://camel.apache.org/security/CVE-2026-71300.html
- https://github.com/apache/camel/pull/25366
- https://github.com/apache/camel/pull/25382
- https://github.com/apache/camel/pull/25383
- https://github.com/apache/camel/pull/25384
- https://github.com/apache/camel/commit/49e197a66158eb7151b461b46b37407df2e13591
- https://github.com/apache/camel/commit/60ca704c0379e6e87107158c0b2174c3f0f2f48a
- https://github.com/apache/camel/commit/66567833fb1efe6d66c6618dbb48295cce4c84ba
- https://github.com/apache/camel/releases/tag/camel-4.14.9
- https://github.com/apache/camel/releases/tag/camel-4.18.4
- https://github.com/apache/camel/releases/tag/camel-4.22.0
- https://issues.apache.org/jira/browse/CAMEL-24359
CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
What is CVE-2026-71300 Apache Camel-Atmosphere-Websocket WebSocket Dispatch Header Injection (CVE-2026-71300)?
Apache Camel-Atmosphere-Websocket WebSocket Dispatch Header Injection (CVE-2026-71300) (CVE-2026-71300) maps to the Initial Access and Lateral Movement tactics — the adversary is trying to get into your network in MITRE ATT&CK.
This page provides production-ready detection logic for Apache Camel-Atmosphere-Websocket WebSocket Dispatch Header Injection (CVE-2026-71300), covering the data sources and telemetry it touches: Microsoft Defender for Endpoint, IIS / Web Server Logs. The queries below are rated high severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.
MITRE ATT&CK
- Tactic
- Initial Access Lateral Movement
let affectedArtifact = dynamic(["camel-atmosphere-websocket"]);
union isfuzzy=true
(
// Vulnerable component presence on hosts (SBOM / file inventory)
DeviceFileEvents
| where FileName has "camel-atmosphere-websocket" and FileName endswith ".jar"
| extend VersionParse = extract(@"camel-atmosphere-websocket-([0-9]+\.[0-9]+\.[0-9]+)", 1, FileName)
| where isnotempty(VersionParse)
| extend Vulnerable = (VersionParse startswith "4." ) // refine with version compare downstream
| project TimeGenerated, DeviceName, FileName, FolderPath, VersionParse, Signal="vulnerable-artifact-present"
),
(
// Inbound WebSocket dispatch header-injection attempts via web proxy / WAF logs
W3CIISLog
| where csUriStem has_any ("/camel", "/ws", "/websocket", "/atmosphere")
| extend Headers = tostring(csHeaders)
| where Headers has_any ("sendToAll", "connectionKey", "CamelWebsocket", "websocket.connectionKey", "X-Atmosphere", "dispatch")
| project TimeGenerated, cIP, csUriStem, csUserAgent, Headers, Signal="dispatch-header-injection-attempt"
)
| sort by TimeGenerated desc Surfaces hosts running vulnerable camel-atmosphere-websocket JARs and inbound web requests carrying anomalous WebSocket dispatch/targeting headers (sendToAll, connectionKey) that fall outside the filtered Camel namespace.
Data Sources
Required Tables
False Positives
- Legitimate Camel WebSocket routes that intentionally use sendToAll broadcast semantics as part of application design.
- Security scanners and SBOM tooling enumerating JARs on hosts producing benign file-event noise.
- Internal load tests or QA traffic that replays application headers including connectionKey values.
Sigma rule & cross-platform mapping
The detection logic for Apache Camel-Atmosphere-Websocket WebSocket Dispatch Header Injection (CVE-2026-71300) (CVE-2026-71300) above is provided in a vendor-neutral
form so you can deploy it on any SIEM. The same logic is shipped here as native
KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the
following logsource:
logsource:
product: windows Browse the community-maintained Sigma rules for this technique:
Platform-specific guides for CVE-2026-71300
References (14)
- https://nvd.nist.gov/vuln/detail/CVE-2026-71300
- https://camel.apache.org/security/CVE-2026-71300.html
- https://github.com/apache/camel/pull/25366
- https://github.com/apache/camel/pull/25382
- https://github.com/apache/camel/pull/25383
- https://github.com/apache/camel/pull/25384
- https://github.com/apache/camel/commit/49e197a66158eb7151b461b46b37407df2e13591
- https://github.com/apache/camel/commit/60ca704c0379e6e87107158c0b2174c3f0f2f48a
- https://github.com/apache/camel/commit/66567833fb1efe6d66c6618dbb48295cce4c84ba
- https://github.com/apache/camel/releases/tag/camel-4.14.9
- https://github.com/apache/camel/releases/tag/camel-4.18.4
- https://github.com/apache/camel/releases/tag/camel-4.22.0
- https://issues.apache.org/jira/browse/CAMEL-24359
- https://github.com/advisories/GHSA-m5r8-w65q-8wjf
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Inject WebSocket dispatch sendToAll header (lab)
Expected signal: Web/proxy log entry for the request to a *websocket*/*camel* URI containing the sendToAll and connectionKey request headers.
- Test 2Inject connectionKey targeting header (lab)
Expected signal: HTTP POST event to a Camel WebSocket send endpoint carrying connectionKey / CamelWebsocketConnectionKey headers.
- Test 3Detect vulnerable camel-atmosphere-websocket JAR on host
Expected signal: File creation event for camel-atmosphere-websocket-4.18.3.jar (an affected version) under /tmp/lib.
- Test 4Windows: drop affected Camel WebSocket JAR (lab)
Expected signal: DeviceFileEvents record for creation of camel-atmosphere-websocket-4.14.8.jar (affected version).
Response Playbook
Triage
- Confirm the affected component and version: enumerate deployed org.apache.camel:camel-atmosphere-websocket JARs and check whether the version falls in >= 4.0.0 < 4.14.9, >= 4.15.0 < 4.18.4, or >= 4.19.0 < 4.22.0.
- Inspect the flagged inbound requests for headers outside the filtered Camel namespace (e.g. sendToAll, connectionKey, CamelWebsocket*) and determine whether they reached a Camel route that produces to a camel-atmosphere-websocket endpoint.
- Correlate the source IP/user against expected clients: broadcast/targeting headers from untrusted or external sources are high-signal for exploitation of the header-injection flaw.
- Review Camel route logs for evidence that unfiltered inbound headers were propagated into the WebSocket producer's peer-selection logic.
Containment
- Block or rate-limit inbound requests carrying WebSocket dispatch-control headers (sendToAll/connectionKey) at the WAF/reverse proxy in front of the Camel application until patched.
- Apply a HeaderFilterStrategy / removeHeaders in the affected Camel routes to strip attacker-controllable headers before the camel-atmosphere-websocket producer, as an interim mitigation.
- Restrict the WebSocket endpoint to authenticated, trusted peers and disable sendToAll broadcast where not required by design.
Evidence Collection
- Capture the full inbound HTTP request/upgrade headers, source IP, timestamps, and the Camel route/exchange ID for each flagged event.
- Preserve the affected application's Camel route definitions, JAR versions (mvn dependency:tree), and any WebSocket dispatch/access logs showing peer targeting.
Escalation Criteria
- ! Escalate to incident response if injected dispatch headers from an untrusted source correlate with WebSocket messages delivered to peers that should not have received them (confirmed message redirection/spoofing).
- ! Escalate if a vulnerable version is confirmed internet-exposed and reachable with attacker-controllable inbound headers, given the CVSS 9.8 rating and public PoC.
Investigation Guide
Forensic Artifacts
- >
Web/proxy access logs containing WebSocket upgrade requests with non-namespaced dispatch headers (sendToAll, connectionKey). - >
Camel application logs and exchange traces showing unfiltered header propagation into the atmosphere-websocket producer. - >
Deployed JAR inventory (camel-atmosphere-websocket-<version>.jar) confirming an affected version.
Tuning Guidance
Baseline which internal services legitimately send sendToAll/connectionKey headers and allowlist those sources. Tighten the header-name match to those specific to your Camel routes to reduce noise, and prioritize alerts where the source is external/untrusted or the target host is confirmed to run an affected version. Once all camel-atmosphere-websocket instances are upgraded to 4.14.9 / 4.18.4 / 4.22.0 or later, downgrade the artifact-presence signal to informational.
Hunting Queries
Hunt for hosts running affected camel-atmosphere-websocket versions and for inbound traffic carrying injected WebSocket dispatch headers.
DeviceFileEvents | where FileName matches regex @"camel-atmosphere-websocket-4\.(([0-9]|1[0-3])\.[0-9]+|14\.[0-8]|1[5-7]\.[0-9]+|18\.[0-3]|19\.[0-9]+|2[01]\.[0-9]+)\.jar" | project TimeGenerated, DeviceName, FolderPath, FileName index=web (uri_path="*websocket*" OR uri_path="*atmosphere*") | eval hdrs=coalesce(request_headers,http_headers) | search hdrs="*sendToAll*" OR hdrs="*connectionKey*" | stats count by src_ip, uri_path, hdrs Atomic Red Team Tests
Sends an HTTP request to a lab Camel Atmosphere WebSocket endpoint with an out-of-namespace dispatch header to simulate header-injection targeting all peers.
Command
curl -s -o /dev/null -w '%{http_code}\n' -H 'sendToAll: true' -H 'connectionKey: victim-peer-1' 'http://localhost:8080/camel/websocket/broadcast' Cleanup
echo 'No persistent artifacts created by this request.' Expected Telemetry
Web/proxy log entry for the request to a *websocket*/*camel* URI containing the sendToAll and connectionKey request headers.
Expected Detection
The dispatch-header-injection-attempt logic (kql/spl/etc.) matches on the sendToAll/connectionKey headers in the inbound request.
Simulates an attacker redirecting a WebSocket message to a specific peer by injecting a non-filtered connectionKey header.
Command
curl -s -X POST -H 'connectionKey: 7f3c-attacker-controlled' -H 'CamelWebsocketConnectionKey: 7f3c' --data 'hello' 'http://localhost:8080/camel/ws/send' Cleanup
echo 'No cleanup required; stateless request.' Expected Telemetry
HTTP POST event to a Camel WebSocket send endpoint carrying connectionKey / CamelWebsocketConnectionKey headers.
Expected Detection
Detection matches on connectionKey / CamelWebsocket header presence in the request headers.
Places a mock affected-version JAR filename on disk to validate the vulnerable-artifact-present inventory logic.
Command
mkdir -p /tmp/lib && touch /tmp/lib/camel-atmosphere-websocket-4.18.3.jar Cleanup
rm -f /tmp/lib/camel-atmosphere-websocket-4.18.3.jar Expected Telemetry
File creation event for camel-atmosphere-websocket-4.18.3.jar (an affected version) under /tmp/lib.
Expected Detection
The vulnerable-artifact-present logic flags the affected-version JAR filename.
Creates a mock affected-version artifact on Windows to exercise the file-inventory branch of the detection.
Command
New-Item -ItemType Directory -Force -Path C:\lab\lib; New-Item -ItemType File -Force -Path C:\lab\lib\camel-atmosphere-websocket-4.14.8.jar Cleanup
Remove-Item -Force C:\lab\lib\camel-atmosphere-websocket-4.14.8.jar Expected Telemetry
DeviceFileEvents record for creation of camel-atmosphere-websocket-4.14.8.jar (affected version).
Expected Detection
The vulnerable-artifact-present KQL branch matches the affected JAR version.