HIGH 7.5

CVE-2026-55994: Apache Camel Iggy Header Injection & SSRF Vulnerability – Patch Guidance

Apache Camel's Iggy component fails to filter incoming message headers before copying them into the application's internal header map. This allows an attacker who can publish messages to a monitored Iggy stream to inject specially crafted headers that override Camel's internal routing directives. When those messages flow through an HTTP request, the injected headers can redirect the request to an attacker-controlled server (SSRF attack) or leak sensitive data like environment variables and secrets. The vulnerability affects Camel versions 4.17.0 through 4.20.x and requires patching to 4.18.3 (for 4.18 branch users) or 4.21.0 (for current releases).

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 Iggy component. The camel-iggy consumer mapped the user-headers of inbound Iggy messages into the Camel Exchange header map without applying any HeaderFilterStrategy (IggyFetchRecords copied the message user-headers straight into the Exchange). Because nothing blocked the Camel header namespace, an actor able to publish to the consumed Iggy stream/topic could set Camel-internal control headers - including CamelHttpUri (Exchange.HTTP_URI) - simply by supplying them as message user-headers. In a route where the Iggy 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. This issue affects Apache Camel: from 4.17.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.18.x releases stream, then they are suggested to upgrade to 4.18.3. The fix adds a dedicated IggyHeaderFilterStrategy (and a headerFilterStrategy endpoint option) that filters 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), restrict who can publish to the consumed Iggy stream/topic, 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 camel-iggy consumer component processes inbound Iggy stream messages and maps user-supplied headers directly into the Camel Exchange header namespace without applying any HeaderFilterStrategy. This allows untrusted message publishers to inject Camel-internal control headers such as CamelHttpUri (Exchange.HTTP_URI). When a downstream HTTP producer consumes the Exchange, it reads the attacker-injected CamelHttpUri value and uses it as the HTTP request destination, resulting in server-side request forgery. Additionally, the HTTP producer resolves Camel property placeholders within the URI string, causing environment variable references, application properties, and vault secret references to be evaluated and sent to the attacker's destination. The root cause is the absence of namespace filtering on inbound header mapping, allowing external actors to manipulate internal routing behavior.

Business impact

Organizations running Iggy-based integrations with downstream HTTP producers face two critical risks: (1) attackers can redirect internal HTTP traffic to external or internal services under their control, potentially exfiltrating data or accessing internal APIs; (2) sensitive secrets, environment variables, and application configuration properties embedded in property placeholders are disclosed to attackers. In cloud environments, this includes access to instance metadata endpoints that may reveal credentials or role information. Compromise scope depends on what internal services are accessible from the Camel instance and what secrets are injected into URIs, but in typical setups the blast radius is significant.

Affected systems

Apache Camel versions 4.17.0 through 4.20.x (inclusive) are affected, spanning two release branches: 4.17.0–4.18.2 in the 4.18 line, and 4.19.0–4.20.x in the main line. Specifically, the vulnerable range includes 4.17.0 before 4.18.3 and 4.19.0 before 4.21.0. Any deployment using the camel-iggy component (Iggy consumer) in an integration route that feeds into an HTTP producer or any other downstream component that reads Camel headers is at risk. Organizations with air-gapped or internal Iggy clusters may face lower risk if publisher access is strictly controlled, but the vulnerability assumes no trust boundary between message publishers and the Camel instance.

Exploitability

Exploitability is high because the attack requires only network access to publish a message to a monitored Iggy stream—no Camel credentials or direct application access is needed. The attacker does not need to authenticate to the Camel instance itself if the Iggy topic/stream is accessible. Message crafting is straightforward: inject a header named 'CamelHttpUri' with a malicious URL, optionally including property placeholder syntax to exfiltrate secrets. Once published, the exploit is passive from the attacker's perspective; the Camel route processes it automatically. The vulnerability is not currently listed in CISA's Known Exploited Vulnerabilities (KEV) catalog, indicating no known public exploits yet, but the simplicity of the attack vector means exploitation risk will increase over time.

Remediation

Immediate patching is the primary mitigation: upgrade to Camel 4.18.3 or later (4.21.0 recommended for 4.19+ users). The fix implements a dedicated IggyHeaderFilterStrategy that filters Camel-namespaced headers (case-insensitive matching of Camel* and camel* prefixes) during inbound message mapping, preventing external injection of control headers. For organizations unable to patch immediately, implement compensating controls: (1) prepend a 'removeHeaders' step at the start of the Iggy consumer route to strip all Camel* and camel* headers before they propagate downstream; (2) restrict publish access to the Iggy stream/topic to trusted producers only; (3) avoid direct bridging of untrusted Iggy consumers into HTTP producers if the target URI can be influenced by message content. These mitigations reduce but do not eliminate risk.

Patch guidance

Verify your Camel version against the affected ranges (4.17.0–4.18.2 or 4.19.0–4.20.x). If on the 4.18.x line, upgrade to 4.18.3 or later. If on 4.19.x or 4.20.x, upgrade to 4.21.0 or later. Consult Apache Camel's official release notes and vendor advisory to confirm patch availability for your distribution or packaging method. If you are on a commercial distribution (e.g., Red Hat AMQ, other vendor-bundled versions), contact your vendor for patched release timelines. Before deploying patches to production, validate in a test environment that the new IggyHeaderFilterStrategy does not filter legitimate headers your routes depend on; review any custom header-passing logic in routes that consume Iggy streams.

Detection guidance

Monitor Iggy message traffic for headers matching patterns Camel* or camel* (case-insensitive), particularly CamelHttpUri, CamelHttpMethod, and other Exchange-control headers. Flag messages from unexpected publishers that inject such headers. In application logs, watch for HTTP producer routes making unexpected outbound requests to hosts not in the normal target list, or requests to internal/private IP ranges or cloud metadata endpoints (e.g., 169.254.169.254). Examine Camel route definitions for direct passthrough of user-supplied headers without filtering; presence of such patterns indicates vulnerability. Search configuration and logs for property placeholder expressions in HTTP URI construction that pull from message headers. Endpoint security tools monitoring outbound HTTP connections can detect SSRF-style anomalies if the Camel instance begins contacting unexpected services.

Why prioritize this

This vulnerability scores 7.5 (HIGH) due to high attack vector accessibility (network, no authentication), wide attack surface (any Iggy publisher), and severe confidentiality impact (secret disclosure via property placeholder resolution). While integrity and availability are not directly affected and KEV status is false (no active exploitation tracked yet), the combination of low barriers to exploitation, simplicity of attack construction, and high information disclosure risk makes it a near-term priority. Organizations relying on Iggy-to-HTTP integration patterns should patch urgently. Environments with tightly controlled Iggy publish access can adopt a measured posture, but assume this gap will be widely exploited once public tooling or proof-of-concept is released.

Risk score, explained

CVSS 3.1 score of 7.5 reflects: (1) Network attack vector (AV:N) — attacker reaches the vulnerability via message publish without authentication; (2) Low attack complexity (AC:L) — no special conditions or race conditions required; (3) No privilege required (PR:N) — Iggy message publisher role is often less restricted than Camel service roles; (4) No user interaction (UI:N); (5) Scope unchanged (S:U) — impact is limited to the Camel service itself, not other systems; (6) High confidentiality impact (C:H) — environment variables, application properties, and vault secrets are exfiltrated; (7) No integrity or availability impact (I:N, A:N) — the attacker redirects traffic but does not modify data in place or crash services. The absence of integrity and availability impact prevents a CRITICAL rating, but the certainty and severity of information disclosure elevates this to HIGH.

Frequently asked questions

If our Iggy cluster is internal and only trusted services can publish, are we still at risk?

Risk is significantly reduced but not eliminated. The vulnerability requires a publisher who can inject headers, so if publish access is tightly controlled and audited, the attack surface shrinks. However, verify that 'trusted' includes all service accounts, CI/CD pipelines, and any shared environments. A single compromised internal service can still exploit the flaw. Patching remains the safest course.

Do we need to patch if our Iggy consumer does not feed into an HTTP producer?

The most severe impact (SSRF + secret exfiltration) occurs when Iggy consumers feed HTTP producers. However, other downstream components may also read and misuse injected Camel headers, potentially causing unexpected behavior or information leakage. Patching is still recommended to eliminate the root cause of unvalidated header injection.

Can we safely remove headers matching 'Camel*' and 'camel*' from every route?

Yes, this is a recommended compensating control for routes that do not intentionally rely on internal Camel headers from external messages. Add a 'removeHeaders' processor step at the start of Iggy consumer routes. However, review your routes to confirm that no legitimate business logic depends on Camel-prefixed headers passed through from upstream; in rare cases, you may need selective filtering rather than blanket removal.

Will patching break any of our custom Iggy integrations?

The patch applies a HeaderFilterStrategy that filters Camel* and camel* prefixes on inbound mapping—it does not change legitimate message payload processing. If your routes send custom headers with Camel- or camel- prefixes through Iggy for internal purposes, those will be filtered after the patch. Audit your route definitions in a pre-production environment and adjust if needed, but the vast majority of deployments should see no adverse impact.

This analysis is provided for informational purposes and reflects the vulnerability details and patch guidance as of the publication date. Security risks evolve as exploitation techniques and tooling become public. Always verify patch version numbers and compatibility against the official Apache Camel release notes and your vendor's advisory before deploying. Testing in a non-production environment is strongly recommended. SEC.co makes no warranty regarding the completeness, accuracy, or applicability of this analysis to your specific environment; consult your internal security and engineering teams for final patching decisions. Source: NVD (public-domain), retrieved 2026-08-15. Analysis generated by SEC.co (claude-haiku-4-5).