CVE-2026-49098
Apache Camel: Camel-Kafka: le costanti degli header Exchange kafka.OVERRIDE_TOPIC (e altre kafka.*) utilizzano nomi non prefissati con "Camel" che bypassano il filtro degli header HTTP a monte, consentendo a un client HTTP di reindirizzare i messaggi Kafka verso un topic arbitrario
- Pubblicato
- 6 lug 2026
- Aggiornato
- 7 lug 2026
- Assegnazione CNA
- apache
- Evidenza osservata
- 7 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NBasso · prossimi 30 giorni
- Percentile
- 47,5%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Validazione dell'input impropria, neutralizzazione impropria di elementi speciali nell'output utilizzato da un componente a valle ('Iniezione') vulnerabilità nel componente Apache Camel Kafka. Il produttore camel-kafka può sovrascrivere il proprio topic di destinazione configurato in fase di esecuzione dall'header Exchange kafka.OVERRIDE_TOPIC: KafkaProducer.evaluateTopic() restituisce il valore dell'header in preferenza al topic configurato sull'endpoint. Le costanti degli header di controllo in KafkaConstants (ad esempio OVERRIDE_TOPIC = kafka.OVERRIDE_TOPIC, OVERRIDE_TIMESTAMP = kafka.OVERRIDE_TIMESTAMP, PARTITION_KEY = kafka.PARTITION_KEY) utilizzavano valori semplici, non prefissati con Camel. Il KafkaHeaderFilterStrategy di camel-kafka filtra effettivamente il namespace kafka.*, ma solo sul confine di serializzazione Kafka-to-Exchange (lettura degli header dei record Kafka nell'Exchange e scrittura degli header dell'Exchange in un record Kafka); non si applica agli header che arrivano da un consumatore a monte in una route multi-componente. Il consumatore HTTP a monte utilizza HttpHeaderFilterStrategy, che blocca solo il namespace Camel / camel, quindi un header kafka.* passa senza filtri. Di conseguenza, in una route che collega un consumatore HTTP (ad esempio platform-http) a un produttore kafka:, qualsiasi client HTTP potrebbe impostare l'header kafka.OVERRIDE_TOPIC e causare la pubblicazione del messaggio su un topic Kafka arbitrario invece di quello configurato — reindirizzandolo a un topic interno sensibile o iniettando messaggi creati dall'attaccante in un topic consumato da un servizio critico a valle. I relativi header kafka.OVERRIDE_TIMESTAMP e kafka.PARTITION_KEY potrebbero essere ugualmente iniettati per retrodatare i messaggi o indirizzarli a partizioni specifiche. Non sono richieste credenziali quando il consumatore di collegamento non è autenticato. Questo problema riguarda Apache Camel: dalla 4.0.0 prima della 4.14.8, dalla 4.15.0 prima della 4.18.3, dalla 4.19.0 prima della 4.21.0. Si consiglia agli utenti di aggiornare alla versione 4.21.0, che risolve il problema. Se gli utenti si trovano sul ramo di rilascio LTS 4.14.x, si consiglia di aggiornare alla 4.14.8. Se gli utenti si trovano sul ramo di rilascio 4.18.x, si consiglia di aggiornare alla 4.18.3. Dopo l'aggiornamento, le route che impostano o leggono gli header Kafka tramite i nomi degli header grezzi devono utilizzare i nomi CamelKafka* (ad esempio CamelKafkaOverrideTopic e CamelKafkaTopic) invece dei vecchi valori kafka.*. Per le distribuzioni che non possono aggiornare immediatamente, rimuovere gli header kafka.* da qualsiasi ingresso non attendibile prima del produttore kafka: (ad esempio removeHeaders('kafka.*') all'inizio della route) e impostare il topic di destinazione da una fonte attendibile.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.