CVE-2026-55993: Apache Camel WebSocket SSRF and Secret Exfiltration Vulnerability
Apache Camel's WebSocket component has a critical flaw that allows unauthenticated attackers to redirect server-side HTTP requests and steal sensitive configuration data. When a WebSocket endpoint receives connections, it accepts query parameters that get converted into internal Camel headers without validation. An attacker can inject specially crafted parameters to override the HTTP destination URI and trigger exposure of environment variables, application properties, and vault secrets through placeholder resolution. This is particularly dangerous in deployments where the WebSocket endpoint feeds directly into downstream HTTP producers and lacks authentication controls.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Weaknesses (CWE)
- CWE-20, CWE-200, CWE-918
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-07-06 / 2026-07-09
NVD description (verbatim)
Improper Input Validation, Exposure of Sensitive Information to an Unauthorized Actor, Server-Side Request Forgery (SSRF) vulnerability in Apache Camel in Atmosphere Websocket Component. The camel-atmosphere-websocket consumer mapped inbound WebSocket query parameters into the Camel Exchange header map without applying any HeaderFilterStrategy (WebsocketConsumer.sendEventNotification() iterates the query-string map collected in WebsocketConsumer.service() and copies each entry into the Exchange). Because nothing blocked the Camel header namespace, a client connecting to the WebSocket endpoint could set Camel-internal control headers - including CamelHttpUri (Exchange.HTTP_URI) - simply by supplying them as query parameters. In a route where the WebSocket consumer feeds a downstream HTTP producer, the injected CamelHttpUri redirects the server-side HTTP request to an attacker-chosen destination (server-side request forgery - for example to an internal service or a cloud metadata endpoint). In addition, the HTTP producer resolves Camel property placeholders on the resulting (attacker-controlled) URI, so placeholders embedded in the injected value - such as an environment-variable reference, an application property, or a vault reference - are resolved to their real values and sent to the attacker, disclosing environment variables, application properties and vault secrets. When the WebSocket endpoint is exposed without authentication, this is reachable by an unauthenticated remote attacker. This issue affects Apache Camel: from 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0. Users are recommended to upgrade to version 4.21.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.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. The fix makes the consumer apply the HeaderFilterStrategy it already inherits from the HTTP/servlet stack, filtering the Camel header namespace case-insensitively on inbound mapping, so externally-supplied Camel* / camel* headers are no longer copied into the Exchange. For deployments that cannot upgrade immediately, strip the Camel control headers from the inbound message before they reach any downstream producer (for example removeHeaders('Camel*') and removeHeaders('camel*') at the start of the route), require authentication on the WebSocket endpoint, and avoid bridging an untrusted consumer directly into an HTTP producer whose target URI can be driven from message headers.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exists in the camel-atmosphere-websocket consumer's WebsocketConsumer.sendEventNotification() method, which iterates over inbound WebSocket query parameters and copies them directly into the Camel Exchange header map without applying HeaderFilterStrategy filtering. This allows an attacker to inject Camel-reserved headers—specifically CamelHttpUri (Exchange.HTTP_URI)—by supplying them as query string parameters. Because the HTTP producer downstream resolves Camel property placeholders on the resulting URI, an attacker can embed placeholder expressions (e.g., environment variable references or vault secret lookups) to exfiltrate their resolved values. The affected code path bypasses the HeaderFilterStrategy mechanism that the HTTP/servlet stack normally enforces. Root cause: missing case-insensitive filtering of the Camel* and camel* header namespace on inbound message mapping.
Business impact
Organizations deploying unauthenticated WebSocket endpoints connected to HTTP producers face exposure of sensitive runtime data—environment variables, application properties, and secrets stored in vault systems. An attacker can weaponize this to discover internal service endpoints, cloud metadata (IAM credentials, instance roles), and encryption keys. The SSRF component enables lateral movement within networks and access to internal services bypassing perimeter controls. In cloud environments, this can lead to cloud credential compromise. The attack requires no authentication, making it exploitable by external threat actors if the WebSocket endpoint is exposed.
Affected systems
Apache Camel versions 4.0.0 through 4.14.7, versions 4.15.0 through 4.18.2, and versions 4.19.0 through 4.20.x are affected. The camel-atmosphere-websocket component is explicitly in scope; any deployment using this component as a consumer feeding into downstream HTTP producers is at risk, especially if the WebSocket endpoint is exposed without authentication. Organizations should verify all Camel installations and identify routes that bridge WebSocket consumers to HTTP producers.
Exploitability
Exploitability is high and requires minimal effort. The attack surface is straightforward: a remote attacker crafts a WebSocket connection request with malicious query parameters and requires no authentication. The injected headers are processed automatically by the consumer without user interaction. Proof of concept would involve establishing a WebSocket connection with a query string like ?CamelHttpUri=http://internal-service, causing the downstream HTTP producer to contact the attacker's chosen destination. Placeholder injection (e.g., embedding ${env:SECRET_VAR}) extracts secrets directly into the attacker-controlled HTTP request. CVSS 7.5 (HIGH) reflects the network-accessible attack vector, no authentication requirement, and confidentiality impact, though integrity and availability are not directly affected.
Remediation
Upgrade immediately to Apache Camel 4.21.0, 4.14.8 (LTS stream), or 4.18.3 (LTS stream). The fix applies HeaderFilterStrategy case-insensitively to filter Camel* and camel* headers on inbound WebSocket message mapping. For organizations unable to upgrade immediately, implement compensating controls: (1) add removeHeaders('Camel*') and removeHeaders('camel*') filters at the start of each route receiving WebSocket traffic; (2) require authentication (e.g., mutual TLS, token-based) on all WebSocket endpoints; (3) avoid direct routing from untrusted consumers to HTTP producers whose target URI can be influenced by message headers; (4) use explicit, hardcoded HTTP endpoints rather than header-driven URI selection. These controls should be temporary and replaced by patching as soon as feasible.
Patch guidance
Verify your Camel version by checking pom.xml, gradle.build, or runtime version output (camel --version or similar). Identify all routes using the camel-atmosphere-websocket component. Plan upgrades to 4.21.0 (recommended for latest versions), 4.14.8 (if on 4.14.x LTS), or 4.18.3 (if on 4.18.x LTS). Test patches in a staging environment, especially routes that bridge WebSocket to HTTP. Confirm that HeaderFilterStrategy filtering is applied post-patch. Review route configuration to ensure no hard dependencies on header-driven URIs that might be re-introduced in custom code. Coordinate patching to minimize service disruption.
Detection guidance
Monitor WebSocket connection logs for suspicious query parameters containing Camel reserved header names (CamelHttpUri, CamelHttpMethod, etc.). Look for patterns like ?Camel* in WebSocket upgrade requests. Inspect downstream HTTP producer logs for unexpected target URIs or requests to internal/metadata endpoints that do not match intended service destinations. Check application logs for placeholder resolution errors or exfiltration of environment variable values in HTTP request headers sent to external destinations. Network segmentation monitoring (e.g., DLP, DNS logging) can detect HTTP requests to unexpected internal or metadata services. Implement Web Application Firewall (WAF) rules to block WebSocket upgrade requests with Camel* query parameters if the endpoints should not accept them.
Why prioritize this
HIGH priority: unauthenticated network-accessible vulnerability with direct SSRF and data exfiltration impact. The attack requires no special privileges, no user interaction, and can compromise runtime secrets and cloud credentials. Organizations with exposed WebSocket endpoints should prioritize patching within days, not weeks. Those with authentication-protected endpoints have reduced urgency but should still plan updates within standard patch cycles.
Risk score, explained
CVSS 3.1 score 7.5 (HIGH) reflects: Attack Vector = Network (unauthenticated remote access), Attack Complexity = Low (straightforward query parameter injection), Privileges Required = None, User Interaction = None, Scope = Unchanged, and Confidentiality Impact = High (secret disclosure). Integrity and Availability are not directly impacted by the vulnerability itself, though the SSRF capability could be chained with other flaws. The score does not account for context-dependent factors: organizations with authentication-protected WebSocket endpoints or routes that do not feed into HTTP producers face lower practical risk, while those with untrusted, unauthenticated WebSocket exposure and downstream HTTP producers should treat this as CRITICAL.
Frequently asked questions
Does this vulnerability affect all Apache Camel deployments?
No. Only deployments using the camel-atmosphere-websocket consumer component are vulnerable. If your routes do not use WebSocket consumers, you are not directly affected. Additionally, if your WebSocket endpoints are protected by authentication (e.g., mTLS, API tokens) or do not connect to HTTP producers, the attack surface is significantly reduced. Audit your route definitions to confirm exposure.
Can we mitigate this without upgrading?
Temporarily, yes. Apply removeHeaders('Camel*') and removeHeaders('camel*') as the first step in any route receiving WebSocket input. This strips injected headers before they reach downstream producers. Additionally, require authentication on WebSocket endpoints and avoid routing WebSocket messages directly to HTTP producers with header-driven target URIs. These are stopgap measures; plan upgrades to a patched version on your next maintenance window.
What secrets are at risk if we are exploited?
An attacker can extract any value that Camel can resolve at runtime: environment variables, system properties, application.properties or application.yml entries, and secrets from vault systems (HashiCorp Vault, AWS Secrets Manager, etc.). They do this by embedding property placeholder expressions (e.g., ${env:DATABASE_PASSWORD}) in the injected CamelHttpUri, causing the HTTP producer to resolve them and send the real values to the attacker-controlled endpoint. The attacker effectively gains read access to your entire runtime configuration.
Should we patch before or after the July 6, 2026 publication date?
The vulnerability was published on July 6, 2026. If you are reading this before that date, check your vendor advisories for earlier disclosure or pre-release information. Regardless of publication timing, treat this as requiring urgent action: the attack is trivial to execute and the impact is severe. Do not wait for external pressure or an announced breach to patch.
This analysis is provided for informational purposes and represents SEC.co's professional assessment based on published CVE data as of the modification date (July 9, 2026). Patch version numbers and affected ranges are based on the official Apache Camel security advisory; verify against the latest vendor documentation before deploying patches. Exploitability and business impact may vary depending on your network architecture, authentication controls, and route configuration. Organizations should conduct their own risk assessment and validate patches in controlled environments before production deployment. SEC.co makes no warranty regarding the completeness or accuracy of this analysis and assumes no liability for decisions made in reliance on it. Source: NVD (public-domain), retrieved 2026-08-15. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-46726HIGHApache Camel Vertx WebSocket Header Injection & SSRF
- CVE-2026-55994HIGHApache Camel Iggy Header Injection & SSRF Vulnerability – Patch Guidance
- CVE-2026-46584LOWApache Camel Mail Component Input Validation Vulnerability
- CVE-2026-10055HIGHEclipse Theia SSRF Vulnerability in /services/request-service
- CVE-2026-45329HIGHESP-IDF TEE Memory Disclosure Vulnerability – Patch 5.5.5 and 6.0.1
- CVE-2026-47389HIGHMastodon DNS SSRF via IPv4-Mapped IPv6 – Patch Now
- CVE-2026-54299HIGHAstro SSR Host Header Validation Leads to Information Disclosure
- CVE-2025-58175MEDIUMGeoServer SSRF Vulnerability in Proxy Configuration