Severity: moderate 

Affected versions:

- Apache Camel (org.apache.camel:camel-dapr) 4.12.0 before 4.14.8
- Apache Camel (org.apache.camel:camel-dapr) 4.15.0 before 4.18.3
- Apache Camel (org.apache.camel:camel-dapr) 4.19.0 before 4.21.0

Description:

Improper Input Validation, Unintended Proxy or Intermediary ('Confused Deputy') 
vulnerability in Apache Camel DAPR component.

The camel-dapr Dapr Pub/Sub consumer (DaprPubSubConsumer) copied two fields 
from each inbound CloudEvent - its Pub/Sub component name and its topic - into 
the CamelDaprPubSubName and CamelDaprTopic Exchange headers. These two headers 
are producer-direction routing headers: when the route republishes through a 
Dapr producer, DaprConfigurationOptionsProxy reads them back and prefers them 
over the destination configured on the endpoint. As a result, in a route that 
consumes from one Dapr Pub/Sub topic and republishes to another (for example 
from('dapr-pubsub:p:t').to('dapr-pubsub:p:other')), an actor able to publish a 
message to the subscribed topic could set the CloudEvent's pub/sub-name and 
topic to values of their choosing and cause the re-published message to be 
delivered to an arbitrary Dapr Pub/Sub component and topic instead of the 
configured destination - redirecting or exfiltrating the message and bypassing 
the route's intended routing and any topic-level access controls in the 
underlying broker. Exploitation requires the ability to publish to the topic 
the route subscribes to; no other authentication or user interaction is needed.
This issue affects Apache Camel: from 4.12.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. For deployments that cannot upgrade immediately, remove 
the CamelDaprPubSubName and CamelDaprTopic headers from the Exchange between 
the Dapr consumer and any Dapr producer in the route (for example 
removeHeaders('CamelDaprPubSubName', 'CamelDaprTopic')), and restrict who can 
publish to the subscribed Dapr Pub/Sub topic so that only trusted producers can 
send to it.

Credit:

Leon Zlobecki (finder)
Andrea Cosentino (remediation developer)

References:

https://camel.apache.org/security/CVE-2026-49086.html
https://camel.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-49086

Reply via email to