CVE-2026-49098
Apache Camel: Camel-Kafka: As constantes de cabeçalho de Exchange kafka.OVERRIDE_TOPIC (e outras kafka.*) usavam nomes sem o prefixo Camel que contornavam o filtro de cabeçalhos HTTP upstream, permitindo que um cliente HTTP redirecionasse mensagens Kafka para um tópico arbitrário
- Publicado
- 6 de jul. de 2026
- Atualizado
- 7 de jul. de 2026
- Atribuindo CNA
- apache
- Evidência observada
- 7 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NBaixo · próximos 30 dias
- Percentil
- 47,5%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
Vulnerabilidade de Validação de Entrada Incorreta e Neutralização Incorreta de Elementos Especiais em Saída Usada por um Componente a Jusante ('Injeção') no Componente Kafka do Apache Camel. O produtor camel-kafka pode substituir seu tópico de destino configurado em tempo de execução a partir do cabeçalho de troca kafka.OVERRIDE_TOPIC: KafkaProducer.evaluateTopic() retorna o valor do cabeçalho em preferência ao tópico configurado no endpoint. As constantes de cabeçalho de controle em KafkaConstants (por exemplo, OVERRIDE_TOPIC = kafka.OVERRIDE_TOPIC, OVERRIDE_TIMESTAMP = kafka.OVERRIDE_TIMESTAMP, PARTITION_KEY = kafka.PARTITION_KEY) usavam valores simples, sem prefixo Camel. O próprio KafkaHeaderFilterStrategy do camel-kafka filtra o namespace kafka.*, mas apenas no limite de serialização Kafka-para-Exchange (lendo cabeçalhos de registros Kafka para o Exchange e escrevendo cabeçalhos do Exchange em um registro Kafka); ele não se aplica a cabeçalhos que chegam de um consumidor a montante em uma rota de múltiplos componentes. O consumidor HTTP a montante usa HttpHeaderFilterStrategy, que bloqueia apenas o namespace Camel / camel, portanto um cabeçalho kafka.* passa sem filtro. Como resultado, em uma rota que faz a ponte de um consumidor HTTP (por exemplo, platform-http) para um produtor kafka:, qualquer cliente HTTP poderia definir o cabeçalho kafka.OVERRIDE_TOPIC e fazer com que a mensagem fosse publicada em um tópico Kafka arbitrário em vez do configurado — redirecionando-a para um tópico interno sensível, ou injetando mensagens criadas pelo atacante em um tópico consumido por um serviço crítico a jusante. Os cabeçalhos relacionados kafka.OVERRIDE_TIMESTAMP e kafka.PARTITION_KEY poderiam igualmente ser injetados para retrodatar mensagens ou direcionar partições específicas. Nenhuma credencial é necessária quando o consumidor de ponte não é autenticado. Este problema afeta o Apache Camel: de 4.0.0 antes de 4.14.8, de 4.15.0 antes de 4.18.3, de 4.19.0 antes de 4.21.0. Recomenda-se que os usuários atualizem para a versão 4.21.0, que corrige o problema. Se os usuários estiverem no fluxo de versões LTS 4.14.x, sugere-se que atualizem para 4.14.8. Se os usuários estiverem no fluxo de versões 4.18.x, sugere-se que atualizem para 4.18.3. Após a atualização, rotas que definem ou leem cabeçalhos Kafka por meio dos nomes de cabeçalho brutos devem usar os nomes CamelKafka* (por exemplo, CamelKafkaOverrideTopic e CamelKafkaTopic) em vez dos valores antigos kafka.*. Para implantações que não podem atualizar imediatamente, remova os cabeçalhos kafka.* de qualquer entrada não confiável antes do produtor kafka: (por exemplo, removeHeaders('kafka.*') no início da rota) e defina o tópico de destino a partir de uma fonte confiável.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.