CVE-2026-55994 Overview
CVE-2026-55994 is a Server-Side Request Forgery (SSRF) and information disclosure vulnerability in the Apache Camel camel-iggy component. The consumer maps inbound Iggy message user-headers directly into the Camel Exchange header map without applying any HeaderFilterStrategy. An attacker who can publish to a consumed Iggy stream can inject Camel-internal control headers such as CamelHttpUri, redirecting downstream HTTP producer requests to attacker-chosen destinations. The HTTP producer also resolves Camel property placeholders on the injected URI, disclosing environment variables, application properties, and vault secrets.
Critical Impact
Attackers publishing to a consumed Iggy topic can force server-side HTTP requests to internal services or cloud metadata endpoints and exfiltrate resolved vault secrets and environment variables.
Affected Products
- Apache Camel versions 4.17.0 through 4.18.2
- Apache Camel versions 4.19.0 through 4.20.x
- Apache Camel camel-iggy component in affected release streams
Discovery Timeline
- 2026-07-06 - CVE-2026-55994 published to NVD
- 2026-07-09 - Last updated in NVD database
Technical Details for CVE-2026-55994
Vulnerability Analysis
The camel-iggy consumer bridges messages from Apache Iggy streams into Camel routes. The IggyFetchRecords implementation copies message user-headers straight into the Exchange without filtering the Camel header namespace. Any producer downstream of the consumer treats these headers as trusted control data.
When a route pipes an Iggy consumer into an HTTP producer, the producer honors CamelHttpUri (mapped from Exchange.HTTP_URI) to determine the request target. An attacker who supplies this header as a message user-header rewrites the outbound URI at runtime. The HTTP producer then resolves Camel property placeholders inside the attacker-supplied URI, expanding references such as ${env:SECRET}, application properties, or vault lookups before issuing the request. The resolved secrets travel to the attacker-controlled endpoint as part of the URL. This flaw is classified as improper input validation [CWE-20].
Root Cause
The consumer lacks a HeaderFilterStrategy on inbound mapping. Nothing blocks headers prefixed with Camel* or camel* from entering the Exchange, so externally-supplied control headers become indistinguishable from route-internal state.
Attack Vector
The attacker requires publish access to an Iggy stream or topic that a vulnerable Camel route consumes. The attacker crafts a message carrying a CamelHttpUri user-header pointing to an internal address, a cloud metadata endpoint such as http://169.254.169.254/, or an external collector URL containing placeholder references. When the route forwards the message to an HTTP producer, the server issues the attacker-directed request and leaks resolved placeholder values.
See the Apache Camel CVE-2026-55994 Advisory for full technical details on the exploitation path.
Detection Methods for CVE-2026-55994
Indicators of Compromise
- Outbound HTTP requests from Camel workloads to unexpected internal IP ranges or link-local metadata addresses such as 169.254.169.254.
- Iggy messages containing user-headers prefixed with Camel or camel, particularly CamelHttpUri, CamelHttpQuery, or CamelHttpMethod.
- HTTP producer requests whose target URI contains resolved secret values or vault references in the query string or path.
Detection Strategies
- Inspect Iggy broker audit logs for producer clients publishing messages with Camel-namespace user-headers.
- Correlate Camel route access logs with egress proxy logs to identify HTTP producer requests whose destination diverges from the route's configured endpoint URI.
- Alert on outbound requests from Camel hosts to instance metadata endpoints, private RFC1918 ranges not previously contacted, or newly registered domains.
Monitoring Recommendations
- Enable verbose logging on the camel-iggy consumer and capture the pre-mapped header set for offline analysis.
- Instrument HTTP producers to log the fully resolved URI at request time and flag deviations from the route's static endpoint configuration.
- Monitor secret-management systems for lookups originating from Camel workloads that do not match expected application flows.
How to Mitigate CVE-2026-55994
Immediate Actions Required
- Upgrade Apache Camel to 4.21.0 on the 4.19+ stream, or to 4.18.3 on the 4.18.x stream.
- Audit all Camel routes that consume from camel-iggy and feed data into any HTTP, HTTP4, or Netty HTTP producer.
- Rotate any credentials, tokens, or vault-backed secrets referenced by property placeholders in HTTP producer URIs on affected deployments.
Patch Information
Apache Camel 4.21.0 and 4.18.3 introduce a dedicated IggyHeaderFilterStrategy and a headerFilterStrategy endpoint option. The filter drops headers matching the Camel* and camel* namespaces case-insensitively during inbound mapping, so externally-supplied control headers no longer enter the Exchange. Refer to the Apache Camel CVE-2026-55994 Advisory for release details.
Workarounds
- Strip Camel control headers at the start of every route by calling removeHeaders('Camel*') and removeHeaders('camel*') immediately after the Iggy consumer.
- Restrict publish permissions on consumed Iggy streams and topics to trusted producers only.
- Avoid piping an untrusted Iggy consumer directly into an HTTP producer whose target URI can be driven from message headers; use a static, hardcoded endpoint URI instead.
# Example Camel route mitigation (Java DSL)
from("iggy:stream/topic")
.removeHeaders("Camel*")
.removeHeaders("camel*")
.to("http://static-internal-service/api");
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

