Andrea Cosentino created CAMEL-24998:
----------------------------------------
Summary: camel-hivemq: consumer is missing a HeaderFilterStrategy,
allowing Camel-internal headers to be injected from the MQTT message
Key: CAMEL-24998
URL: https://issues.apache.org/jira/browse/CAMEL-24998
Project: Camel
Issue Type: Improvement
Reporter: Andrea Cosentino
HiveMQConsumer.onMessage() maps the inbound MQTT publish topic name and flags
to CamelHiveMQ* Exchange headers without applying a HeaderFilterStrategy. There
is no filter anywhere in the component. This means:
1. An attacker who can publish to a subscribed MQTT topic can inject arbitrary
Camel* headers that survive onto the Exchange, bypassing the
DefaultHeaderFilterStrategy that other consumers apply to block the
internal-dispatch namespace (the CVE-2025-27636 class).
2. If the Exchange flows to a camel-hivemq producer (e.g. as a bridge), the
CamelHiveMQOverrideTopic header - if injected - would drive where the message
is republished.
The fix is to add a headerFilterStrategy field to HiveMQEndpoint (defaulting to
DefaultHeaderFilterStrategy) and apply it when populating Exchange headers in
HiveMQConsumer, following the pattern used by components fixed in the
CVE-2025-27636 family.
Affected files:
-
components/camel-hivemq/src/main/java/org/apache/camel/component/hivemq/HiveMQConsumer.java
-
components/camel-hivemq/src/main/java/org/apache/camel/component/hivemq/HiveMQEndpoint.java
--
This message was sent by Atlassian Jira
(v8.20.10#820010)