CVE-2026-71300

Apache Camel-Atmosphere-Websocket WebSocket Dispatch Header Injection (CVE-2026-71300)

Initial Access Lateral Movement Last updated:

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 PoC

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
Microsoft Sentinel / Defender
kusto
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.

high severity medium confidence

Data Sources

Microsoft Defender for Endpoint IIS / Web Server Logs

Required Tables

DeviceFileEvents W3CIISLog

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:


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.

  1. 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.

  2. Test 2Inject connectionKey targeting header (lab)

    Expected signal: HTTP POST event to a Camel WebSocket send endpoint carrying connectionKey / CamelWebsocketConnectionKey headers.

  3. 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.

  4. 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

  1. 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.
  2. 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.
  3. 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.
  4. Review Camel route logs for evidence that unfiltered inbound headers were propagated into the WebSocket producer's peer-selection logic.

Containment

  1. 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.
  2. Apply a HeaderFilterStrategy / removeHeaders in the affected Camel routes to strip attacker-controllable headers before the camel-atmosphere-websocket producer, as an interim mitigation.
  3. Restrict the WebSocket endpoint to authenticated, trusted peers and disable sendToAll broadcast where not required by design.

Evidence Collection

  1. Capture the full inbound HTTP request/upgrade headers, source IP, timestamps, and the Camel route/exchange ID for each flagged event.
  2. 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.

Hunting — KQL
kql
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
Hunting — SPL
spl
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

Test 1 Inject WebSocket dispatch sendToAll header (lab)
linux

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

bash
curl -s -o /dev/null -w '%{http_code}\n' -H 'sendToAll: true' -H 'connectionKey: victim-peer-1' 'http://localhost:8080/camel/websocket/broadcast'

Cleanup

bash
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.

Test 2 Inject connectionKey targeting header (lab)
linux

Simulates an attacker redirecting a WebSocket message to a specific peer by injecting a non-filtered connectionKey header.

Command

bash
curl -s -X POST -H 'connectionKey: 7f3c-attacker-controlled' -H 'CamelWebsocketConnectionKey: 7f3c' --data 'hello' 'http://localhost:8080/camel/ws/send'

Cleanup

bash
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.

Test 3 Detect vulnerable camel-atmosphere-websocket JAR on host
linux

Places a mock affected-version JAR filename on disk to validate the vulnerable-artifact-present inventory logic.

Command

bash
mkdir -p /tmp/lib && touch /tmp/lib/camel-atmosphere-websocket-4.18.3.jar

Cleanup

bash
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.

Test 4 Windows: drop affected Camel WebSocket JAR (lab)
windows

Creates a mock affected-version artifact on Windows to exercise the file-inventory branch of the detection.

Command

powershell
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

powershell
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.

Related Detections