CVE-2026-46592: Apache Camel CXF Confused Deputy Vulnerability – HTTP Header Injection
Apache Camel's CXF component has a vulnerability that allows an attacker to trick the system into invoking unintended operations on a backend SOAP service. When a Camel route bridges an HTTP request directly to a SOAP backend, an attacker can inject HTTP headers that override which SOAP operation gets executed. This could mean replacing a safe read operation with a destructive write or delete. The vulnerability exists because Camel's header filtering didn't recognize these control headers as needing protection, letting them pass through from untrusted HTTP clients into the routing logic.
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-441
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-07-06 / 2026-07-08
NVD description (verbatim)
Improper Input Validation, Unintended Proxy or Intermediary ('Confused Deputy') vulnerability in Apache Camel CXF SOAP component. The camel-cxf producer selects which SOAP operation to invoke on the backend service from the operationName (and operationNamespace) Exchange header, whose constant values (CxfConstants.OPERATION_NAME / OPERATION_NAMESPACE) were the plain strings operationName / operationNamespace. Because these names do not start with the Camel / camel prefix, HttpHeaderFilterStrategy - which blocks only the Camel header namespace on the HTTP boundary - let them pass from an inbound HTTP request straight into the Exchange. In a route that bridges an HTTP consumer (for example platform-http) into a cxf: producer, any HTTP client could therefore set the operationName header and have CxfProducer resolve and invoke a different WSDL operation than the route intended - for example replacing a read operation with a destructive one - against the backend SOAP service (a confused-deputy redirection). The constant is defined in the shared camel-cxf-common module, so the same non-prefixed names also applied to camel-cxfrs. No credentials are required when the bridging consumer is unauthenticated. 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. After upgrading, the operation-selection headers are named CamelCxfOperationName / CamelCxfOperationNamespace and are filtered at transport boundaries; see the 4.21 upgrade guide for the cross-transport carrier-header pattern. For deployments that cannot upgrade immediately, do not select the CXF operation from untrusted input: strip the operationName and operationNamespace headers from any untrusted ingress before the cxf: producer and set the operation from a trusted source in the route.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The camel-cxf producer uses Exchange headers operationName and operationNamespace (defined as plain strings in CxfConstants, without the 'Camel/' namespace prefix) to determine which WSDL operation to invoke on the backend service. The HttpHeaderFilterStrategy is designed to block headers in the Camel namespace at HTTP transport boundaries, but because these operation-selection headers lack the protective prefix, they are not filtered when ingressed from HTTP requests. In routes that chain an HTTP consumer (e.g., platform-http) to a cxf: producer without proper isolation, this allows an unauthenticated HTTP client to inject or modify these headers, causing the CXF producer to resolve and execute an arbitrary WSDL operation instead of the one the route developer intended. This is a classic confused-deputy vulnerability in which an intermediary (the Camel route) is tricked into performing an action on behalf of the attacker against a backend service that trusts the intermediary.
Business impact
Organizations deploying Apache Camel to bridge HTTP APIs to SOAP backends face significant risk: an attacker could invoke unintended backend operations without authentication. Depending on the backend service's capabilities, this could result in unauthorized data modification, deletion, or exposure. For example, a route intended to expose a read-only data lookup could be exploited to trigger account creation, fund transfers, or configuration changes on the backend. The impact is highest in multi-tenant or open-network deployments where the HTTP consumer is exposed to untrusted clients.
Affected systems
Apache Camel versions 4.0.0 through 4.21.0 (exclusive) are vulnerable. This spans three release streams: 4.0.0–4.14.7, 4.15.0–4.18.2, and 4.19.0–4.20.x. The vulnerability also affects camel-cxfrs due to shared code in camel-cxf-common. Any Camel deployment using the cxf: producer component in a route that accepts HTTP input is at risk, particularly in microservices and API gateway architectures.
Exploitability
Exploitability is very high. No authentication is required if the HTTP consumer is unauthenticated, and the attack requires only a crafted HTTP header—no special knowledge of backend credentials or WSDL details beyond what the route exposes. The attack is reliable and deterministic, executed by any HTTP client capable of setting custom headers. There is no user interaction or complex environmental setup required.
Remediation
Upgrade immediately to Apache Camel 4.21.0, or to 4.14.8 / 4.18.3 if remaining on those LTS/release branches. After upgrading, the operation-selection headers are renamed to CamelCxfOperationName and CamelCxfOperationNamespace and are properly filtered at transport boundaries. Consult the Camel 4.21 upgrade guide for guidance on the cross-transport carrier-header pattern if your route relies on passing operation names across transport layers. For organizations unable to patch immediately, implement compensating controls: strip operationName and operationNamespace headers from all untrusted HTTP ingress before the cxf: producer, and hard-code or derive the operation name from trusted route logic only.
Patch guidance
Verify and apply upgrades according to your Camel release stream: upgrade to 4.21.0 (or later) for current deployments, 4.14.8 for 4.14.x LTS users, or 4.18.3 for 4.18.x branch users. Test the upgrade in a staging environment, as the header rename will affect any route logic that explicitly references the old constant names (CxfConstants.OPERATION_NAME). Review the Camel 4.21 release notes and upgrade guide for migration details. If your routes programmatically set or pass these headers internally, update your code to use the new CamelCxf-prefixed constants.
Detection guidance
Monitor HTTP request logs and Camel route metrics for attempts to inject or modify operationName and operationNamespace headers in requests destined for cxf: producers. Look for header values that differ from the intended operation or that match WSDL operations not exposed by the route's API contract. If you have access to Camel's Exchange debug logs, correlate unexpected SOAP operation invocations with concurrent HTTP requests carrying these headers. In a WAF or API gateway layer, create rules to strip or reject these headers at the boundary before they reach Camel.
Why prioritize this
This vulnerability warrants immediate action because it combines high exploitability (no auth required, trivial attack), high impact (arbitrary operation invocation on backend services), and broad scope (any HTTP-to-SOAP bridge). The CVSS 7.5 (HIGH) score reflects the integrity risk and network-accessible attack vector. Organizations bridging HTTP and SOAP should prioritize this above lower-scoring issues affecting less critical integrations.
Risk score, explained
The CVSS 3.1 score of 7.5 (HIGH) reflects an attack requiring no privileges or user interaction, network accessibility, and high impact on confidentiality (an attacker could invoke operations that expose data) and integrity (unintended state changes on the backend). The scope is unchanged (impact is within the backend service only, not on the Camel system itself). The score does not account for environmental factors such as whether your HTTP consumer is exposed to the public internet or restricted to internal networks—assess your specific deployment topology when determining remediation urgency.
Frequently asked questions
Do I need to update if my cxf: producer only communicates with other trusted internal services?
Yes, you should still upgrade. Even if your backend SOAP services are internal, if the HTTP consumer (the input side of the route) accepts requests from any source not fully controlled by you, the vulnerability exists. The risk is proportional to the attack surface of the HTTP endpoint and the sensitivity of the backend operations exposed.
What does the upgrade change about how I write or configure my routes?
The patch renames the header constants to CamelCxfOperationName and CamelCxfOperationNamespace, and these headers are now filtered at HTTP boundaries. If your route code references CxfConstants.OPERATION_NAME directly, you'll need to update it. If your route relies on the HTTP consumer passing the operation name to the cxf: producer, you'll need to refactor to derive the operation from trusted route logic instead. See the Camel 4.21 upgrade guide for the recommended cross-transport carrier-header pattern.
Is this vulnerability actively exploited in the wild?
This CVE does not appear on CISA's Known Exploited Vulnerabilities (KEV) catalog as of the publication date. However, the attack is straightforward to execute—it requires only knowledge of the backend WSDL and the ability to send HTTP headers. Do not assume obscurity provides protection; treat this as urgent regardless of KEV status.
Can I work around this without upgrading?
Yes, as a temporary measure, implement header stripping at the ingress point of your route: remove operationName and operationNamespace from all incoming HTTP requests before they reach the cxf: producer. Then, configure the cxf: producer to use a static operation or to derive the operation name from a safe source (e.g., a route parameter, a lookup based on a message body field, or a routing policy). This requires route code changes and ongoing vigilance to ensure no backdoor is introduced, so upgrading is strongly preferred.
This analysis is provided for informational purposes to support vulnerability assessment and remediation planning. SEC.co makes no warranty regarding the accuracy, completeness, or timeliness of this content. Consult the official Apache Camel security advisory, release notes, and your own security team when planning upgrades and remediation. Patch versions, timelines, and workaround feasibility should be verified against your specific Camel deployment, dependencies, and operational constraints. This page does not constitute legal advice or a guarantee of security; your organization remains responsible for assessing and addressing vulnerabilities in your environment. Source: NVD (public-domain), retrieved 2026-08-15. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-49086MEDIUMApache Camel DAPR Message Routing Vulnerability
- CVE-2026-39998HIGHApache APISIX Forward-Auth Identity Spoofing Vulnerability
- CVE-2026-42588HIGHApache ActiveMQ Remote Code Execution via Jolokia Code Injection
- CVE-2026-45505HIGHApache ActiveMQ Code Injection Vulnerability—Exploit & Patch Guidance
- CVE-2026-46457HIGHApache Camel NATS Header Injection Vulnerability – HIGH Risk (7.5)
- CVE-2026-46585HIGHApache Camel Lucene Query Injection and Authorization Bypass
- CVE-2026-46587HIGHApache Camel Input Validation Vulnerability – HIGH Severity RCE Risk
- CVE-2026-46588HIGHApache Camel Input Validation Vulnerability – Patch Guidance