Description
Improper input validation vulnerability in Apache Camel Atmosphere Websocket component.



This issue affects Apache Camel: from 4.0.0 before 4.14.9, from 4.15.0 before 4.18.4, from 4.19.0 before 4.22.0.



The camel-atmosphere-websocket producer selects which connected WebSocket peers a message is delivered to through Exchange headers, and the string values of those headers sat outside the Camel namespace: websocket.connectionKey and websocket.connectionKey.list, along with websocket.sendToAll, websocket.eventType and websocket.errorType. WebsocketEndpoint extends ServletEndpoint and so inherits HttpHeaderFilterStrategy, which filters only the Camel and camel prefixes; the dotted names therefore fell outside the filtered namespace and were admitted in both directions by every HTTP-family consumer. In a route bridging an HTTP consumer into an atmosphere-websocket producer, an external sender could supply the list header and take over the producer's dispatch decision. WebsocketProducer.process tests the list header before the single-key header, so an injected value discarded the recipient the route had selected: a notification intended for one connected client could be suppressed, or delivered instead to a different client whose connection key the sender knows. The header need not be a query parameter and need not be supplied as a list literally - Camel's HTTP binding promotes a repeated header name, and a bracketed value, to a List when mapping onto the Exchange - so an ordinary inbound HTTP header is sufficient to reach the list-valued branch. This is distinct from CVE-2026-55993, which concerns the consumer-side query-parameter path in the same component. The behaviour dates back to the introduction of these constants, first released in 2.17.0, and was unchanged until this fix.



Users are recommended to upgrade to version 4.22.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.9. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.4. For deployments that cannot upgrade immediately, strip the dispatch headers at the trust boundary before the producer, for example with removeHeaders(“websocket.*”) placed between the HTTP consumer and the atmosphere-websocket producer. Note that the fix renames the header string values into the Camel namespace, which is a breaking change for routes that set them by literal string: routes referencing the WebsocketConstants fields symbolically are unaffected, and the change is documented in the upgrade guides. As defence in depth, do not bridge an untrusted HTTP consumer directly into a WebSocket producer whose dispatch is header-driven without stripping the dispatch namespace first.
Published: 2026-08-24
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized Message Redirection
Action: Upgrade
AI Analysis

Impact

The flaw is an improper input validation vulnerability in the Apache Camel Atmosphere WebSocket component that allows an attacker to supply specially crafted WebSocket dispatch headers such as websocket.connectionKey.list through an HTTP request that is bridged to a WebSocket producer. These headers are not filtered by Camel’s HTTP binding because they fall outside the Camel namespace, so the producer accepts them and uses them to determine which connected peers receive a message. As a result the sender can suppress an intended notification or redirect it to an arbitrary client whose connection key the attacker knows, compromising the confidentiality, integrity, or availability of real‑time communications. The weakness is a classic input validation error (CWE‑20).

Affected Systems

Affected releases include all Apache Camel versions from 4.0.0 up to (but not including) 4.14.9, from 4.15.0 up to (but not including) 4.18.4, and from 4.19.0 up to (but not including) 4.22.0. The issue resides in the camel‑atmosphere‑websocket component used to bridge HTTP consumers to WebSocket producers.

Risk and Exploitability

The CVSS score is 9.8 and the EPSS score is less than 1%, indicating a high severity but a very low probability of exploitation. However, the vulnerability is exploitable via a straightforward HTTP request to a trusted route that forwards to the WebSocket producer, and authentication alone does not mitigate the issue. The lack of a KEV listing does not reduce the potential impact; the ability to hijack message delivery in real‑time streams makes this a high‑importance security concern.

Generated by OpenCVE AI on August 25, 2026 at 22:19 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Apache Camel to at least version 4.22.0 (or to 4.18.4 for the 4.18.x stream and 4.14.9 for the 4.14.x stream) to apply the official fix.
  • If an immediate upgrade is not possible, insert a route step that removes WebSocket dispatch headers before the producer, for example removeHeaders("websocket.*") between the HTTP consumer and the atmosphere‑websocket producer.
  • Avoid bridging an untrusted HTTP consumer directly into a WebSocket producer whose dispatch is header‑driven; enforce authentication and input filtering before the producer.

Generated by OpenCVE AI on August 25, 2026 at 22:19 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-m5r8-w65q-8wjf Apache Camel-Atmosphere-Websocket: WebSocket dispatch header injection - the producer selected its target peers through Exchange headers whose names sat outside the filtered Camel namespace
History

Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:*

Tue, 25 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 24 Aug 2026 20:00:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache camel
Vendors & Products Apache
Apache camel

Mon, 24 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Description Improper input validation vulnerability in Apache Camel Atmosphere Websocket component. This issue affects Apache Camel: from 4.0.0 before 4.14.9, from 4.15.0 before 4.18.4, from 4.19.0 before 4.22.0. The camel-atmosphere-websocket producer selects which connected WebSocket peers a message is delivered to through Exchange headers, and the string values of those headers sat outside the Camel namespace: websocket.connectionKey and websocket.connectionKey.list, along with websocket.sendToAll, websocket.eventType and websocket.errorType. WebsocketEndpoint extends ServletEndpoint and so inherits HttpHeaderFilterStrategy, which filters only the Camel and camel prefixes; the dotted names therefore fell outside the filtered namespace and were admitted in both directions by every HTTP-family consumer. In a route bridging an HTTP consumer into an atmosphere-websocket producer, an external sender could supply the list header and take over the producer's dispatch decision. WebsocketProducer.process tests the list header before the single-key header, so an injected value discarded the recipient the route had selected: a notification intended for one connected client could be suppressed, or delivered instead to a different client whose connection key the sender knows. The header need not be a query parameter and need not be supplied as a list literally - Camel's HTTP binding promotes a repeated header name, and a bracketed value, to a List when mapping onto the Exchange - so an ordinary inbound HTTP header is sufficient to reach the list-valued branch. This is distinct from CVE-2026-55993, which concerns the consumer-side query-parameter path in the same component. The behaviour dates back to the introduction of these constants, first released in 2.17.0, and was unchanged until this fix. Users are recommended to upgrade to version 4.22.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.9. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.4. For deployments that cannot upgrade immediately, strip the dispatch headers at the trust boundary before the producer, for example with removeHeaders(“websocket.*”) placed between the HTTP consumer and the atmosphere-websocket producer. Note that the fix renames the header string values into the Camel namespace, which is a breaking change for routes that set them by literal string: routes referencing the WebsocketConstants fields symbolically are unaffected, and the change is documented in the upgrade guides. As defence in depth, do not bridge an untrusted HTTP consumer directly into a WebSocket producer whose dispatch is header-driven without stripping the dispatch namespace first.
Title Apache Camel: Camel-Atmosphere-Websocket: WebSocket dispatch header injection
Weaknesses CWE-20
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-08-25T19:39:50.077Z

Reserved: 2026-08-05T17:09:08.388Z

Link: CVE-2026-71300

cve-icon Vulnrichment

Updated: 2026-08-25T19:39:46.907Z

cve-icon NVD

Status : Undergoing Analysis

Published: 2026-08-24T17:18:16.997

Modified: 2026-08-27T18:07:55.997

Link: CVE-2026-71300

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T22:30:17Z

Weaknesses
  • CWE-20

    Improper Input Validation