CVE-2026-95629
Apache Camel: невалидированный заголовок пути вывода Camel-Docling позволяет записывать результат преобразования в произвольный каталог
- Опубликовано
- 26 окт. 2026 г.
- Обновлено
- 26 окт. 2026 г.
- Назначение CNA
- apache
- Наблюдены доказательства
- 30 окт. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:LНизкий · следующие 30 дней
- Процентиль
- 26,9 %
- Дата модели
- 29 окт. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
Уязвимость неправильного ограничения пути к файлу в каталоге с ограниченным доступом («обход пути») в компоненте Apache Camel Docling. Проблема затрагивает Apache Camel: с 4.15.0 до 4.18.5, с 4.19.0 до 4.22.2. DoclingProducer запускает внешний инструмент docling в режиме CLI (по умолчанию) и указывает ему, куда записывать преобразованный документ, через флаг --output. Когда задавался заголовок CamelDoclingOutputFilePath, addOutputDirectoryArguments передавал его значение этому флагу дословно: значение не нормализовалось, абсолютный путь или путь, содержащий сегменты .., принимался как есть, и ни одна опция эндпоинта не могла ограничить его каталогом. Проверка пользовательских аргументов, добавленная исправлением для CVE-2026-40047, отклоняет флаги --output и -o в заголовке CamelDoclingCustomArguments и предлагает вызывающим сторонам выбирать выходной каталог с помощью этого заголовка, поэтому единственное значение, определяющее, куда пишет docling, попадало в командную строку без каких-либо проверок, применяемых к пользовательским аргументам. Docling записывает результат преобразования в формате Markdown, HTML, JSON или текста в этот каталог, называя файл по имени входного файла, а producer впоследствии удаляет только свой собственный временный каталог, поэтому файл остаётся на месте. Таким образом, сторона, способная задать заголовок, могла создать выходной файл преобразования в любом каталоге, в который может писать процесс Camel. Содержимое такого файла является результатом преобразования документа, переданного в сообщении, поэтому оно формируется тем, кто предоставляет этот документ, без побайтовой записи, а когда содержимое документа поступает в теле сообщения, producer сохраняет его под случайным временным именем, которое затем получает выходной файл. Заголовок принадлежит пространству имён заголовков Camel, которое потребители, применяющие фильтрацию заголовков по умолчанию в Camel, такие как потребители JMS и Kafka, удаляют из входящих сообщений, поэтому проблема достигается там, где маршрут передаёт значения, подверженные внешнему влиянию, в заголовок, или где потребитель отображает входящие заголовки без такой фильтрации. Режим docling-serve не использует этот заголовок. Пользователям рекомендуется обновиться до версии 4.23.0, в которой исправлена проблема. Если пользователи находятся на ветке выпусков 4.22.x, им рекомендуется обновиться до 4.22.2. Если пользователи находятся на ветке выпусков 4.18.x, им рекомендуется обновиться до 4.18.5. Исправление добавляет опцию эндпоинта outputBaseDirectory, которая по умолчанию не задана, поэтому после обновления задайте её на каждом эндпоинте docling, чей заголовок CamelDoclingOutputFilePath может нести значение, подверженное влиянию извне развёртывания; без неё заголовок нормализуется, но всё ещё может указывать на любой каталог. Ветки выпусков с 4.15.x по 4.17.x и с 4.19.x по 4.21.x достигли окончания срока поддержки до того, как эта проблема была решена, и не получат исправления, поэтому развёртывания на них должны перейти на поддерживаемый выпуск. Для развёртываний, которые не могут обновиться немедленно, не формируйте заголовок CamelDoclingOutputFilePath из значений, происходящих извне развёртывания, удаляйте этот заголовок из сообщений, поступающих извне, прежде чем они достигнут эндпоинта docling, и убедитесь, что потребители, отображающие входящие заголовки сообщений, отбрасывают пространство имён заголовков Camel, чтобы только сам маршрут выбирал выходной каталог.
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.