CVE: CVE-2026-94083
Продукт: Debian
Дата публикации: 20.09.2026
Критичность: CRITICAL
CVSS: 9.4 (3.1)
EPSS: 0,40%; процентиль 34,21%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В Debian CVE-2026-94083 затрагивает пакет suricata до версии 1:8.0.7-1. Ошибка возникает при обработке запросов DoH2 с переходом HTTP1 на HTTP2: код очистки состояния HTTP2 выполняется, хотя фактическое состояние — HTTP1, что приводит к некорректному освобождению памяти. В Debian stable trixie исправление ещё не подтверждено; в forky и sid опубликована версия 1:8.0.7-1.
Основные характеристики
Риск связан с некорректным управлением состоянием HTTP2 в Suricata при обработке DoH2-запросов, где происходит upgrade с HTTP1 на HTTP2. Ошибка приводит к invalid free и потенциальному нарушению целостности памяти процесса Suricata.
- Тип ошибки: CWE-843 — incorrect memory deallocation; type confusion между состояниями HTTP1 и HTTP2.
- CVSS:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L, оценка 9.4, критическая.
- Условие активации: включённый протокол DoH2 в Suricata; по умолчанию включён в версиях 8.x.
- Факт эксплуатации: не подтверждён доступными источниками.
- EPSS: 0,40%; процентиль 34,21%.
Какие продукты и версии затронуты
В Debian затронут пакет
suricata.- forky: версия до 1:8.0.7-1 уязвима; исправление доступно в репозитории forky.
- sid: версия до 1:8.0.7-1 уязвима; исправление доступно в репозитории sid.
- trixie: статус open; текущая версия 1:7.0.10-1+deb13u4 не содержит подтверждённого исправления CVE-2026-94083.
Причина уязвимости
Suricata до 8.0.7 хранит состояние HTTP2 для обработки DoH2-запросов. При запросе с upgrade с HTTP1 на HTTP2 код очистки состояния HTTP2 выполняется, хотя фактическое состояние соединения остаётся HTTP1.
Это приводит к несовпадению типа объекта и его текущего состояния: память, связанная с HTTP2 state, освобождается как если бы соединение было в состоянии HTTP2, тогда как реальное состояние — HTTP1. В результате возникает invalid free.
Ошибка относится к классу type confusion (CWE-843), где неправильный тип или состояние объекта приводит к некорректному управлению памятью.
Как работает атака
Атака направлена на процесс Suricata, обрабатывающий DoH2-запросы с HTTP1-to-HTTP2 upgrade.
Запрос приходит в Suricata как DoH2. При обработке upgrade состояние соединения должно перейти из HTTP1 в HTTP2. Однако код очистки состояния HTTP2 вызывается независимо от фактического состояния: он выполняется даже когда соединение всё ещё находится в режиме HTTP1.
Некорректный вызов освобождает память, связанную с HTTP2 state, хотя объект фактически относится к HTTP1-состоянию. Это может привести к повреждению памяти процесса Suricata.
После invalid free возможны последствия: повреждение данных, сбой обработки запросов, нарушение целостности состояния соединения или более глубокое влияние на процесс в зависимости от того, как память используется после освобождения.
Условия успешной эксплуатации
Для успешной эксплуатации необходимы следующие условия:
- Suricata версии до 8.0.7.
- Включённый протокол DoH2:
app-layer.protocols.doh2должен быть активирован; в версиях 8.x он включён по умолчанию.
- Обработка запроса с HTTP1-to-HTTP2 upgrade в рамках DoH2.
- Доступ к Suricata как к сетевому сервису, принимающему такие запросы.
Возможный сценарий атаки
Сценарий предполагает взаимодействие с Suricata через сеть.
Атакующий направляет DoH2-запрос, содержащий upgrade с HTTP1 на HTTP2. Suricata обрабатывает запрос и переходит в логику обработки HTTP2 state.
При этом код очистки состояния HTTP2 выполняется, хотя фактическое состояние соединения — HTTP1. Происходит некорректное освобождение памяти.
После этого атакующий может продолжать отправлять запросы или эксплуатировать повреждённое состояние процесса Suricata в рамках доступных сетевых интерфейсов.
Есть ли публичный эксплойт
Доступные источники подтверждают наличие ошибки и публикацию исправления в Suricata 8.0.7.
- PoC: не подтверждён как отдельный публичный артефакт.
- Техническое описание: доступно через описание CVE, commit и сравнение версий.
- Подтверждённая эксплуатация: не подтверждена доступными источниками.
Отсутствие сведений об эксплуатации не означает, что она невозможна. Ошибка приводит к invalid free, что технически создаёт основу для дальнейших действий над памятью процесса Suricata.
Признаки эксплуатации
Специфичные IOC для CVE-2026-94083 не подтверждены доступными источниками.
Ниже приведены общие, неспецифичные точки контроля:
- Рост количества ошибок в логах Suricata при обработке DoH2-запросов.
- Нестабильность процесса Suricata: повторные рестарты, падение сервиса.
- Аномальные значения памяти или CPU у процесса Suricata во время обработки сетевых запросов.
- Наличие незакрытых соединений или зависших HTTP2/HTTP1 сессий в мониторинге.
Как обнаружить атаку
Для обнаружения атаки можно использовать следующие подходы:
- Мониторинг логов Suricata на ошибки, связанные с обработкой DoH2 и HTTP2 state.
- Контроль состояния процесса Suricata: CPU, память, количество открытых соединений.
- Анализ сетевых запросов к порту Suricata на наличие DoH2-запросов с upgrade.
- Проверка версий установленного пакета suricata через
apt-cache policyилиdpkg-query.
Как проверить свою версию
Проверка версии Debian и пакета suricata:
Bash:
cat /etc/debian_version
Bash:
cat /etc/os-release
Bash:
apt-cache policy suricata
Bash:
dpkg-query -W -f='${Package} ${Version}\n' suricata
Если версия ниже 1:8.0.7-1, пакет уязвим.
Исправление
Исправление CVE-2026-94083 доступно для Debian forky и sid в версии suricata 1:8.0.7-1.
- forky: обновите suricata до 1:8.0.7-1 из репозитория forky.
- sid: обновите suricata до 1:8.0.7-1 из репозитория sid.
- trixie: исправление не подтверждено; статус open. Требуется отслеживать обновления от Debian Security Tracker.
Обновление выполняется стандартными механизмами пакетного менеджера Debian.
Временные меры защиты
Пока исправление недоступно или не установлено, можно снизить риск:
- Отключить протокол DoH2 в конфигурации Suricata:
app-layer.protocols.doh2.
- Ограничить доступ к порту Suricata до доверенных источников.
- Мониторинг состояния процесса Suricata и логи ошибок.
- Изолировать сервис Suricata от критичных сетевых сегментов, если это возможно.
Как проверить устранение уязвимости
После обновления проверьте версию пакета:
Bash:
dpkg-query -W -f='${Package} ${Version}\n' suricata
Версия должна быть 1:8.0.7-1 или выше.
Проверьте статус в Debian Security Tracker: Debian Security Tracker — CVE-2026-94083.
После обновления можно проверить, что сервис Suricata работает без ошибок и что DoH2-запросы обрабатываются корректно.
Вывод
CVE-2026-94083 — критическая ошибка в Suricata до 8.0.7, связанная с type confusion между HTTP1 и HTTP2 state при обработке DoH2-запросов. Ошибка приводит к invalid free и потенциальному нарушению целостности памяти процесса.
В Debian forky и sid исправление доступно в версии 1:8.0.7-1. В trixie статус open, подтверждённого исправления нет. До обновления рекомендуется отключить DoH2 или ограничить доступ к Suricata.
Официальные источники
История обновлений статьи
- 22.09.2026 — Опубликована первая версия материала.
- 23.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
