CVE-2026-78162
Apache Camel: отсутствие фильтра десериализации Java в управляемых экземплярах Camel-Hazelcast (неполное исправление CVE-2026-43865)
- Опубликовано
- 19 окт. 2026 г.
- Обновлено
- 20 окт. 2026 г.
- Назначение CNA
- apache
- Наблюдены доказательства
- 17 окт. 2026 г.
Первичный CVSS
cvelist · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:HРезюме
Уязвимость десериализации недоверенных данных в Apache Camel. Проблема затрагивает Apache Camel: с 4.0.0 до 4.18.5, с 4.19.0 до 4.22.1. Компонент camel-hazelcast применяет Hazelcast JavaSerializationFilterConfig по умолчанию к экземплярам, которые он создаёт из собственной конфигурации, — защита, введённая в CVE-2026-43865. Это изменение не затронуло два пути конфигурации, которые Camel строит сам, поэтому эти пути продолжали создавать экземпляры Hazelcast с неограниченной десериализацией Java. ReplicatedHazelcastAggregationRepository расширяет HazelcastAggregationRepository, но переопределяет doStart() без вызова super.doStart(), сохраняя собственную копию блока инициализации, и поэтому так и не получил фильтр: маршрут, использующий его без указания hazelcastInstance, запускает участника Hazelcast, который десериализует значения, прочитанные из резервного ReplicatedMap, без каких-либо ограничений классов. HazelcastDefaultComponent#getOrCreateHzClientInstance() создаёт собственный ClientConfig, когда выбран hazelcastMode=client и не указаны ни ссылочный ClientConfig, ни hazelcastConfigUri, и также не применял фильтр, поэтому эндпоинты в клиентском режиме вели себя иначе, чем эндпоинты в режиме узла, при в остальном идентичной конфигурации. В обоих случаях злоумышленник, способный публиковать данные в кластер Hazelcast, к которому подключён затронутый экземпляр, может вызвать десериализацию произвольного сериализованного Java-объекта внутри собственного слоя сериализации Hazelcast — до того, как Camel обработает обмен, — что приводит к удалённому выполнению кода. В кластерах Hazelcast по умолчанию не включены ни аутентификация, ни TLS. Выбор клиентского режима — это выбор топологии, а не параметр безопасности, поэтому ни один из путей не требовал от развёртывания явного согласия на небезопасное поведение. Пользователям рекомендуется обновиться до версии 4.23.0, в которой проблема исправлена. Если пользователи находятся на ветке выпусков 4.22.x, им рекомендуется обновиться до 4.22.1. Если пользователи находятся на ветке выпусков 4.18.x, им рекомендуется обновиться до 4.18.5. Ветка выпусков 4.14.x и более ранние достигли окончания срока поддержки до того, как эта проблема была решена, и исправление для них не будет выпущено, поэтому развёртывания на этих линиях должны перейти на поддерживаемый выпуск. Для развёртываний, которые не могут обновиться немедленно, следует указать явную конфигурацию Hazelcast с JavaSerializationFilterConfig или внедрить заранее созданный HazelcastInstance, поскольку предоставленная пользователем конфигурация никогда не перезаписывается Camel. В качестве альтернативы можно задать общесистемный для JVM фильтр -Djdk.serialFilter=!java.net.;java.;javax.;org.apache.camel.;!* и включить аутентификацию кластера Hazelcast и TLS, чтобы ограничить круг лиц, имеющих доступ к кластеру.
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.