CVE-2025-27636Уязвимость обхода/инъекции в компонентах Apache Camel при определенных условиях.
Эта проблема затрагивает Apache Camel: версии с 4.10.0 до <= 4.10.1, с 4.8.0 до <= 4.8.4, с 3.10.0 до <= 3.22.3.
Пользователям рекомендуется обновиться до версии 4.10.2 для 4.10.x LTS, 4.8.5 для 4.8.x LTS и 3.22.4 для релизов 3.x.
Эта уязвимость присутствует в стандартном фильтре входных заголовков Camel, который позволяет злоумышленнику включать специфические для Camel заголовки,
которые для некоторых компонентов Camel могут изменять поведение, такое как компонент camel-bean, чтобы вызвать другой метод
на bean, чем был закодирован в приложении. В компоненте camel-jms зловредный заголовок может быть использован для отправки
сообщения в другую очередь (на том же брокере), чем было закодировано в приложении. Это также можно наблюдать при использовании компонента camel-exec.
Злоумышленник должен будет внедрить пользовательские заголовки, такие как HTTP-протоколы. Таким образом, если у вас есть приложения Camel, которые
directly connected к интернету через HTTP, злоумышленник может включить злонамеренные HTTP-заголовки в HTTP-запросы,
которые отправляются в приложение Camel.
Все известные компоненты Camel HTTP, такие как camel-servlet, camel-jetty, camel-undertow, camel-platform-http и camel-netty-http, будут уязвимы с самого начала.
В этих условиях злоумышленник сможет сфальсифицировать имя заголовка Camel и заставить компонент bean вызывать другие методы внутри того же bean.
Что касается использования стратегии фильтра по умолчанию, то список компонентов, использующих ее, выглядит следующим образом:
* camel-activemq
* camel-activemq6
* camel-amqp
* camel-aws2-sqs
* camel-azure-servicebus
* camel-cxf-rest
* camel-cxf-soap
* camel-http
* camel-jetty
* camel-jms
* camel-kafka
* camel-knative
* camel-mail
* camel-nats
* camel-netty-http
* camel-platform-http
* camel-rest
* camel-sjms
* camel-spring-rabbitmq
* camel-stomp
* camel-tahu
* camel-undertow
* camel-xmpp.
Уязвимость возникает из-за ошибки в механизме фильтрации по умолчанию, который блокирует только заголовки, начинающиеся с "Camel", "camel" или "org.apache.camel."
Меры по минимизации: вы можете легко обойти это в своих приложениях Camel, удаляя заголовки в ваших маршрутах Camel. Существует множество способов сделать это, как глобально, так и по маршруту. Это означает, что вы можете использовать EIP removeHeaders, чтобы отфильтровывать все, что похоже на "cAmel, cAMEL" и т.д., или, в общем, все, что не начинается с "Camel", "camel" или "org.apache.camel.".