CVE: CVE-2026-82481
Продукт: Debian
Дата публикации: 29.08.2026
Критичность: HIGH
CVSS: 8.7 (4.0)
EPSS: 0,50%; процентиль 41,11%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В пакете
ocaml-cohttp для Debian выявлена уязвимость обхода путей (CWE-180), позволяющая атакующему читать файлы вне разрешенного каталога. Официальный статус в Debian Security Tracker — «open», исправленных версий для всех релизов пока нет. Статья разбирает механику, затронутые версии и текущие меры контроля.Основные характеристики
Риск заключается в возможности удаленного атакующего читать произвольные файлы на сервере, что может привести к утечке конфиденциальных данных или ключей. Уязвимость не требует аутентификации и имеет высокий уровень критичности.
- Тип ошибки: CWE-180 (Directory Traversal). Атакующий может выйти за пределы целевого каталога.
- CVSS 4.0: 8.7 (HIGH). Вектор:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:Y/R:A/V:D/RE:M/U:X.
- Условия атаки: Удаленный доступ (AV:N), низкая сложность (AC:L), отсутствие необходимости в аутентификации (PR:N).
- Эксплуатация: В каталоге CISA KEV не подтверждена. EPSS составляет 0,504% (процентиль 41,11%).
Какие продукты и версии затронуты
Уязвимость затрагивает пакет
ocaml-cohttp в дистрибутиве Debian. Согласно Debian Security Tracker, статус для всех поддерживаемых и тестовых релизов остается «open», что означает отсутствие официального исправления в репозиториях.- Debian 12 (bookworm): Версия в репозитории
4.0.0-3. Статус: open.
- Debian 13 (trixie): Версия в репозитории
5.3.0-1. Статус: open.
- Debian 14 (forky): Версия в репозитории
6.2.2-1. Статус: open.
- Debian unstable (sid): Версия в репозитории
6.2.2-1. Статус: open.
Все перечисленные версии содержат уязвимый код, так как исправление в версии 6.3.0 еще не портировано в официальные репозитории Debian.
Причина уязвимости
Причина уязвимости кроется в недостаточной валидации путей при обработке HTTP-запросов в библиотеке
cohttp. Библиотека не корректно нормализует входные данные, что позволяет атакующему использовать последовательности вроде ../ для выхода за пределы корневой директории веб-приложения.Это классическая ошибка обработки путей (CWE-180). Разработчики не учли, что пользовательский ввод может содержать символы, меняющие контекст файловой системы. В результате, при попытке доступа к файлу, система разрешает чтение ресурсов, которые должны быть недоступны для внешнего пользователя.
Как работает атака
Атака реализуется через отправку специально сформированного HTTP-запроса к уязвимому веб-серверу, использующему
ocaml-cohttp. Атакующий формирует строку запроса, содержащую последовательности ../, которые интерпретируются операционной системой как переход в родительские каталоги.Поскольку библиотека не фильтрует эти последовательности, сервер пытается открыть файл по сформированному пути. Если файл существует и доступен для чтения процессом сервера, его содержимое возвращается в ответе. Это позволяет читать конфигурационные файлы, базы данных или ключи шифрования, расположенные вне каталога веб-документов.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости атакующему необходимо иметь сетевой доступ к серверу, работающему на уязвимой версии
ocaml-cohttp. Аутентификация не требуется, что значительно расширяет поверхность атаки.- Сетевой доступ: Сервер должен быть доступен извне или из внутренней сети.
- Отсутствие аутентификации: Уязвимость эксплуатируется без учетных данных.
- Читаемость файлов: Процесс сервера должен иметь права на чтение целевых файлов.
- Версия пакета: Установлена версия
ocaml-cohttpниже 6.3.0 (в контексте Debian — все текущие версии в репозиториях).
Возможный сценарий атаки
Атакующий сканирует сеть в поисках серверов, использующих OCaml-фреймворки. Обнаружив целевой хост, он отправляет GET-запрос с параметром, содержащим
../../etc/passwd.Сервер, не валидируя путь, возвращает содержимое системного файла. Получив список пользователей, атакующий может попытаться подобрать пароли или использовать информацию для дальнейшей атаки.
В случае доступа к файлам конфигурации с ключами API или БД, риск утечки данных становится критическим.
Есть ли публичный эксплойт
Публичный эксплойт в виде готового PoC или подтвержденной эксплуатации в реальных атаках в предоставленных источниках не указан. Ссылка на pull request в репозитории GitHub подтверждает наличие технического описания и исправления в исходном коде, но не свидетельствует о массовой эксплуатации. Отсутствие сведений в CISA KEV также указывает на то, что уязвимость пока не используется в целевых атаках.
Признаки эксплуатации
Специфичных IOC (индикаторов компрометации) для этой уязвимости в официальных источниках не опубликовано. Однако можно использовать общие точки контроля, которые не являются специфичными для CVE-2026-82481, но помогают выявить подозрительную активность.
- Аномальные HTTP-запросы: Запросы, содержащие последовательности
../в строке пути.
- Чтение системных файлов: Попытки доступа к
/etc/passwd,/etc/shadowили файлам конфигурации через веб-интерфейс.
- Необычные ответы: Ответы сервера, содержащие содержимое файлов, которые не должны быть доступны через HTTP.
Как обнаружить атаку
Для обнаружения попыток эксплуатации следует анализировать логи веб-сервера и приложения. Ищите паттерны, характерные для обхода путей, в строках запросов. Также полезно мониторить доступ к чувствительным файлам на уровне файловой системы, если это возможно в рамках вашей инфраструктуры.
- Логи веб-сервера: Фильтруйте запросы, содержащие
..или%2e%2e(URL-кодирование).
- Системные логи: Отслеживайте попытки чтения файлов, к которым у веб-процесса не должно быть доступа.
- WAF: Используйте правила WAF для блокировки запросов с подозрительными последовательностями в пути.
Как проверить свою версию
Чтобы проверить, установлена ли уязвимая версия пакета
ocaml-cohttp на вашей системе Debian, выполните следующие команды. Замените <имя-пакета> на ocaml-cohttp.
Bash:
cat /etc/debian_version
cat /etc/os-release
apt-cache policy ocaml-cohttp
dpkg-query -W -f='${Package} ${Version}\n' ocaml-cohttp
Если версия пакета ниже 6.3.0 (в контексте Debian — любая версия из репозиториев, так как исправление еще не вышло), система уязвима.
Исправление
На данный момент официального исправления в репозиториях Debian нет. Статус в Debian Security Tracker — «open».
Рекомендуется следить за обновлениями и установить пакет
ocaml-cohttp версии 6.3.0 или выше, как только он станет доступен в вашем релизе Debian. До этого момента следует применять временные меры защиты.- Мониторинг: Регулярно проверяйте Debian Security Tracker на наличие обновлений.
- Планирование: Включите обновление пакета в ближайший цикл патчинга, как только появится исправленная версия.
Временные меры защиты
Пока исправление не вышло, можно снизить риск, ограничив доступ к приложению и усилив мониторинг. Если возможно, временно отключите веб-сервис, использующий
ocaml-cohttp, или ограничьте доступ к нему по IP-адресам. Также можно использовать WAF для фильтрации запросов с подозрительными последовательностями в пути.- Ограничение доступа: Настройте firewall для пропуска трафика только с доверенных IP-адресов.
- WAF: Включите правила, блокирующие запросы с
../в строке пути.
- Мониторинг: Усиленный контроль логов на предмет попыток обхода путей.
Как проверить устранение уязвимости
После установки исправленной версии пакета (когда она появится) необходимо проверить, что уязвимость устранена. Убедитесь, что версия пакета соответствует 6.3.0 или выше. Проведите повторное сканирование или тестирование, чтобы убедиться, что запросы с последовательностями
../ теперь блокируются или возвращают ошибку.
Bash:
dpkg-query -W -f='${Package} ${Version}\n' ocaml-cohttp
Если версия 6.3.0 или выше, уязвимость должна быть устранена. Проведите функциональное тестирование приложения, чтобы убедиться, что исправление не сломало легитимные запросы.
Вывод
CVE-2026-82481 представляет собой серьезную угрозу для систем Debian, использующих
ocaml-cohttp. Отсутствие официального исправления требует повышенного внимания.Администраторы должны отслеживать статус уязвимости и быть готовыми к быстрому обновлению, как только появится исправленная версия. Временные меры защиты помогут снизить риск, но не устранят уязвимость полностью.
Официальные источники
История обновлений статьи
- 01.09.2026 — Опубликована первая версия материала.
- 02.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
