Разработчики Apache Software Foundation выпустили серию обновлений для популярного фреймворка интеграции Apache Camel. Исправления закрывают сразу несколько критических уязвимостей, многие из которых позволяют злоумышленникам удаленно выполнить произвольный код без аутентификации. Проблемы затронули практически все версии начиная с третьей, а также множество дополнительных компонентов: от JMS до CoAP и почтовых обработчиков.
Детали уязвимостей
Apache Camel - это один из стандартных инструментов для построения маршрутов обмена данными между разнородными системами. Он широко применяется в корпоративной среде, поэтому появление в нем множества дыр стало серьезным сигналом для команд информационной безопасности. В общей сложности было зафиксировано восемь уязвимостей, каждая из которых получила собственный идентификатор CVE. Оценки критичности по шкале CVSS варьируются от 7,8 до 9,9 баллов.
Самую высокую оценку - 9,9 - получила уязвимость CVE-2026-40453. Она связана с недостаточной фильтрацией внутренних заголовков Camel в компонентах JMS (Java Message Service - система обмена сообщениями на платформе Java), CoAP и Google PubSub. Ранее разработчики уже исправляли похожую проблему для HTTP-заголовков, добавив приведение к нижнему регистру при проверке. Однако для пяти не-HTTP реализаций эта корректировка не была выполнена. В результате злоумышленник, имеющий доступ к брокеру сообщений (например, очереди JMS), может отправить специально измененное сообщение с заголовком вроде "CAmelExecCommandExecutable". Из-за того что проверка в фильтре чувствительна к регистру, а хранилище заголовков в Camel - нет, вредоносный заголовок попадет в маршрут. Дальнейшие компоненты, такие как camel-exec или camel-file, интерпретируют его как команду для выполнения, что приводит к удаленному запуску кода или записи произвольных файлов.
Еще одна крайне опасная уязвимость - CVE-2026-40860 с оценкой 9,8. Она затрагивает модули camel-jms и camel-sjms, а также их наследников, включая camel-activemq и camel-amqp. Когда Camel выступает в роли потребителя JMS-сообщений и включена опция mapJmsMessage (по умолчанию она активна), входящие объектные сообщения (ObjectMessage) десериализуются без каких-либо проверок. Атакующий, способный опубликовать вредоносное сообщение в очередь или топик, который обрабатывает Camel, может добиться выполнения произвольного кода на сервере, если в classpath присутствует подходящая цепочка гаджетов для десериализации. Эта проблема повторяет класс уязвимостей, которые ранее уже фиксировали в других компонентах Apache Camel, но в JMS-модулях исправление было упущено.
Уязвимость CVE-2026-33454 (CVSS 9,4) затрагивает почтовый компонент camel-mail. Фильтр заголовков в нем настроен только на исходящую сторону, а входящие заголовки не проверяются. Если приложение получает письма по протоколам IMAP или POP3 и анализирует их в маршрутах Camel, злоумышленник может отправить электронное письмо со специальными MIME-заголовками, начинающимися с "Camel". Эти заголовки будут интерпретированы маршрутом, что позволит изменить его поведение. Особенно опасно сочетание с компонентами camel-bean, camel-exec и camel-sql - таким образом можно выполнить произвольные команды или изменить логику обработки данных.
Проблема CVE-2026-40022 (CVSS 8,2) относится к встроенному HTTP-серверу Camel (camel-platform-http-main). При включенной аутентификации и настройке не корневого пути (например, /api) механизм проверки подлинности не распространяется на подпути. Неавторизованные запросы к адресам вроде /api/route или /admin/observe/info проходят без проверки учетных данных. Последний из этих эндпоинтов раскрывает техническую информацию о системе: имя пользователя, рабочий каталог, версию Java и другие метаданные.
Оставшиеся четыре уязвимости также связаны с небезопасной десериализацией. CVE-2026-27172 (CVSS 8,8) затрагивает компонент camel-consul. Если в приложении используется ConsulRegistry для хранения данных, злоумышленник, имеющий возможность записи в хранилище Consul, может разместить там вредоносный сериализованный объект. При следующем обращении Camel к реестру произойдет десериализация и, как следствие, удаленное выполнение кода. Аналогичная проблема присутствует в camel-pqc (CVE-2026-40048, CVSS 7,8) - благодаря хранению ключей шифрования через стандартную сериализацию Java без фильтра. CVE-2026-40473 (CVSS 8,8) касается компонента camel-mina, который работает на транспортном уровне TCP/UDP. Если маршрут принимает данные и запрашивает преобразование к типу ObjectInput, атакующий может отправить специализированный сериализованный объект на порт MINA. Наконец, уязвимость CVE-2026-40858 (CVSS 8,8) обнаружена в интеграции с кэшем Infinispan - удаленное хранилище агрегации также десериализует данные без проверок.
Все эти уязвимости затрагивают широкий спектр версий: начиная с 3.0.0, 4.0.0, 4.14.1, 4.15.0, 4.18.0 и 4.19.0 в зависимости от компонента. Разработчики выпустили исправленные сборки: 4.14.6, 4.14.7, 4.18.1, 4.18.2, 4.19.0 и 4.20.0. Пользователям долгосрочных веток (LTS) рекомендуется обновиться до указанных версий - для 4.14.x это 4.14.6 или 4.14.7, для 4.18.x - 4.18.1 или 4.18.2. Наиболее полное исправление доступно в версии 4.20.0.
Основная причина появления такого количества однотипных проблем - "заплаточный" подход к исправлению уязвимостей в прошлом. Например, в 2024 и 2025 годах уже закрывали похожие дыры в разных компонентах, но разработчики упустили из виду часть модулей. Теперь, судя по всему, инженеры Apache Camel провели системную ревизию: в версии 4.20.0 для многих компонентов заменили небезопасную сериализацию Java на более безопасные форматы, такие как PKCS#8 и X.509 SubjectPublicKeyInfo с кодировкой Base64 JSON. Аналогично были добавлены фильтры ObjectInputFilter для тех случаев, где отказ от сериализации пока невозможен.
Специалистам по информационной безопасности следует как можно скорее проверить, какие версии Apache Camel используются в их инфраструктуре, и спланировать обновление. В первую очередь стоит обратить внимание на компоненты, работающие с JMS-брокерами, почтой, Consul, кэшами и транспортными протоколами. Даже если атакующий не имеет прямой записи в хранилище или брокер, многие из этих уязвимостей могут быть использованы через цепочки других атак. Кроме того, рекомендуется временно отключить неиспользуемые компоненты Camel и ограничить сетевой доступ к соответствующим портам до установки обновлений. В целом это обновление стало одним из самых масштабных за последнее время - его нельзя игнорировать.
Ссылки
- https://camel.apache.org/security/CVE-2026-27172.html
- https://camel.apache.org/security/CVE-2026-33453.html
- https://camel.apache.org/security/CVE-2026-33454.html
- https://camel.apache.org/security/CVE-2026-40022.html
- https://camel.apache.org/security/CVE-2026-40048.html
- https://camel.apache.org/security/CVE-2026-40453.html
- https://camel.apache.org/security/CVE-2026-40473.html
- https://camel.apache.org/security/CVE-2026-40858.html
- https://camel.apache.org/security/CVE-2026-40860.html