CVE-2026-101259
Apache Camel: раскрытие информации в Camel-CoAP из-за неотключённых исключений потребителя
- Опубликовано
- 26 окт. 2026 г.
- Обновлено
- 2 нояб. 2026 г.
- Назначение CNA
- apache
- Наблюдены доказательства
- 30 окт. 2026 г.
Apache Camel: раскрытие информации в Camel-CoAP из-за неотключённых исключений потребителя
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NНизкий · следующие 30 дней
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Уязвимость генерации сообщения об ошибке, содержащего конфиденциальную информацию, в компоненте Apache Camel CoAP. Проблема затрагивает Apache Camel: с 4.0.0 до 4.18.5, с 4.19.0 до 4.22.2. Когда CoAP-потребитель не мог построить свой ответ после завершения маршрута, CamelCoapResource перехватывал возникшее исключение и отправлял его сообщение обратно CoAP-клиенту в качестве полезной нагрузки ответа 5.00 Internal Server Error. Типичный случай — сбой преобразования типа: потребитель преобразует итоговое тело сообщения в полезную нагрузку byte[], а заголовки CamelCoapMaxAge и CamelCoapETag — в их типы после того, как маршрут вернул управление, и, следовательно, вне обработчика ошибок маршрута. В затронутых выпусках сообщение такого сбоя называет класс преобразуемого значения, содержит строковое представление значения и заканчивается именем класса и сообщением нижележащей причины, поэтому удалённый CoAP-клиент мог прочитать внутренние сведения о развёртывании: имена классов и пакетов, строковое представление значения, например путь к файлу тела, и всё, что несёт причина, что на практике может включать пути, имена хостов и сведения о подключении к бэкенду. У потребителя не было возможности подавить это, в отличие от HTTP-потребителей, которые для этой цели предлагают опцию muteException. Исключение, вызванное сбойным маршрутом, не отправлялось: потребитель не проверял, завершился ли обмен с ошибкой, и отвечал на сбой маршрута кодом 2.05 Content и тем телом, которое сообщение содержало на тот момент. Таким образом, для достижения раскрытия требуется маршрут, завершённый ответ которого удалённый клиент может сделать непреобразуемым, что зависит от того, как написан маршрут. Пользователям рекомендуется обновиться до версии 4.23.0, в которой исправлена проблема. Если пользователи находятся на ветке выпусков 4.22.x, им рекомендуется обновиться до 4.22.2. Если пользователи находятся на ветке выпусков 4.18.x, им рекомендуется обновиться до 4.18.5. Ветка выпусков 4.14.x и более ранние, а также линейки выпусков 4.15.x–4.17.x и 4.19.x–4.21.x достигли окончания срока поддержки до того, как эта проблема была решена, и не получат исправления, поэтому развёртывания на них должны перейти на поддерживаемый выпуск. Обновления достаточно самого по себе: новая опция потребителя muteException по умолчанию имеет значение true во всех трёх исправленных линейках выпусков, поэтому ответ с ошибкой не несёт полезной нагрузки без каких-либо изменений конфигурации. Для развёртываний, которые не могут обновиться немедленно, убедитесь, что ответ всегда может быть построен после завершения маршрута: преобразуйте тело в byte[] или String на последнем шаге каждого маршрута, который потребляет из конечной точки coap, например с помощью convertBodyTo, задавайте заголовкам CamelCoapMaxAge и CamelCoapETag только значения их собственных типов и добавьте обработчик onException, который помечает сбой как обработанный и явно задаёт тело ответа, чтобы сбой преобразования возникал и заменялся внутри маршрута, а не в потребителе.
Рабочий воспроизводитель proof-of-concept для CVE-2026-101259, демонстрирующий раскрытие сообщений об ошибках в потребителях camel-coap Apache Camel на Spring Boot и Quarkus, а также проверку исправления.
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.