CVE-2026-49098
Apache Camel: Camel-Kafka: константы заголовков Exchange kafka.OVERRIDE_TOPIC (и другие kafka.*) использовали имена без префикса Camel, которые обходят вышестоящий фильтр HTTP-заголовков, позволяя HTTP-клиенту перенаправлять сообщения Kafka в произвольный топик
- Опубликовано
- 6 июл. 2026 г.
- Обновлено
- 7 июл. 2026 г.
- Назначение CNA
- apache
- Наблюдены доказательства
- 7 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NНизкий · следующие 30 дней
- Процентиль
- 47,5 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
Некорректная проверка входных данных, некорректная нейтрализация специальных элементов в выходных данных, используемых нижестоящим компонентом (инъекция), в компоненте Apache Camel Kafka. Производитель camel-kafka может переопределить настроенный целевой топик во время выполнения из заголовка Exchange kafka.OVERRIDE_TOPIC: KafkaProducer.evaluateTopic() возвращает значение заголовка в приоритете над топиком, настроенным на конечной точке. Константы управляющих заголовков в KafkaConstants (например, OVERRIDE_TOPIC = kafka.OVERRIDE_TOPIC, OVERRIDE_TIMESTAMP = kafka.OVERRIDE_TIMESTAMP, PARTITION_KEY = kafka.PARTITION_KEY) использовали простые значения без префикса Camel. Собственный KafkaHeaderFilterStrategy в camel-kafka действительно фильтрует пространство имён kafka.*, но только на границе сериализации Kafka-to-Exchange (при чтении заголовков записей Kafka в Exchange и записи заголовков Exchange в запись Kafka); он не применяется к заголовкам, поступающим от вышестоящего потребителя в маршруте с несколькими компонентами. Вышестоящий HTTP-потребитель использует HttpHeaderFilterStrategy, который блокирует только пространство имён Camel / camel, поэтому заголовок kafka.* проходит без фильтрации. В результате в маршруте, который связывает HTTP-потребитель (например, platform-http) с производителем kafka:, любой HTTP-клиент может установить заголовок kafka.OVERRIDE_TOPIC и вызвать публикацию сообщения в произвольный топик Kafka вместо настроенного — перенаправив его в чувствительный внутренний топик или внедрив созданные злоумышленником сообщения в топик, потребляемый критически важной нижестоящей службой. Связанные заголовки kafka.OVERRIDE_TIMESTAMP и kafka.PARTITION_KEY также могут быть внедрены для изменения даты сообщений задним числом или нацеливания на конкретные разделы. Учётные данные не требуются, когда связующий потребитель не аутентифицирован. Эта проблема затрагивает Apache Camel: с 4.0.0 до 4.14.8, с 4.15.0 до 4.18.3, с 4.19.0 до 4.21.0. Пользователям рекомендуется обновиться до версии 4.21.0, которая устраняет проблему. Если пользователи находятся на ветке выпусков LTS 4.14.x, им рекомендуется обновиться до 4.14.8. Если пользователи находятся на ветке выпусков 4.18.x, им рекомендуется обновиться до 4.18.3. После обновления маршруты, которые устанавливают или считывают заголовки Kafka через исходные имена заголовков, должны использовать имена CamelKafka* (например, CamelKafkaOverrideTopic и CamelKafkaTopic) вместо старых значений kafka.*. Для развёртываний, которые не могут обновиться немедленно, удалите заголовки kafka.* из любого недоверенного входящего трафика перед производителем kafka: (например, removeHeaders('kafka.*') в начале маршрута) и задайте целевой топик из доверенного источника.
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.