Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2026-49098

Gravedad:
Pendiente de análisis
Tipo:
CWE-20 Validación incorrecta de entrada
Fecha de publicación:
06/07/2026
Última modificación:
06/07/2026

Descripción

Vulnerabilidad por validación inadecuada de entradas y neutralización incorrecta de elementos especiales en la salida utilizada por un componente posterior (inyección) en el componente Apache Camel Kafka. El productor camel-kafka puede anular el tema de destino configurado en tiempo de ejecución a través del encabezado kafka.OVERRIDE_TOPIC de Exchange: KafkaProducer.evaluateTopic() devuelve el valor del encabezado en lugar del tema configurado en el punto final. Las constantes de los encabezados de control en KafkaConstants (por ejemplo, OVERRIDE_TOPIC = kafka.OVERRIDE_TOPIC, OVERRIDE_TIMESTAMP = kafka.OVERRIDE_TIMESTAMP, PARTITION_KEY = kafka. PARTITION_KEY) utilizan valores simples, sin prefijo Camel. La propia estrategia KafkaHeaderFilterStrategy de camel-kafka filtra el espacio de nombres kafka.*, pero solo en el límite de serialización de Kafka a Exchange (al leer los encabezados de los registros de Kafka en Exchange y al escribir los encabezados de Exchange en un registro de Kafka); no se aplica a los encabezados que llegan desde un consumidor anterior en una ruta de múltiples componentes. El consumidor HTTP anterior utiliza HttpHeaderFilterStrategy, que solo bloquea el espacio de nombres Camel / camel, por lo que un encabezado kafka.* pasa sin ser filtrado. Como resultado, en una ruta que conecta un consumidor HTTP (por ejemplo, platform-http) con un productor kafka:, cualquier cliente HTTP podría establecer el encabezado kafka.OVERRIDE_TOPIC y provocar que el mensaje se publique en un tema de Kafka arbitrario en lugar del configurado, redirigiéndolo a un tema interno sensible o inyectando mensajes creados por un atacante en un tema consumido por un servicio crítico posterior. Los encabezados relacionados kafka.OVERRIDE_TIMESTAMP y kafka.PARTITION_KEY también podrían inyectarse para antedatar mensajes o dirigirlos a particiones específicas. No se requieren credenciales cuando el consumidor puente no está autenticado. Este problema afecta a Apache Camel: desde la versión 4.0.0 hasta la 4.14.8, desde la 4.15.0 hasta la 4.18.3 y desde la 4.19.0 hasta la 4.21.0. Se recomienda a los usuarios que actualicen a la versión 4.21.0, que corrige el problema. Si los usuarios utilizan las versiones LTS de la rama 4.14.x, se les sugiere que actualicen a la 4.14.8. Si los usuarios utilizan las versiones de la rama 4.18.x, se les sugiere que actualicen a la 4.18.3. Tras la actualización, las rutas que establezcan o lean encabezados de Kafka mediante los nombres de encabezado sin formato deben utilizar los nombres CamelKafka* (por ejemplo, CamelKafkaOverrideTopic y CamelKafkaTopic) en lugar de los antiguos valores kafka.*. En el caso de las implementaciones que no puedan actualizarse de inmediato, elimine los encabezados «kafka.*» de cualquier entrada no fiable antes del productor kafka: (por ejemplo, removeHeaders(“kafka.*”) al inicio de la ruta) y establezca el tema de destino a partir de una fuente fiable.

Impacto