CVE-2026-111103
HTTP/2 StreamError recovery rolls back connection state and bypasses per-connection limits in Bandit
Что произошло
Improper Cleanup on Thrown Exception vulnerability in the HTTP/2 handler of mtrudel bandit allows an unauthenticated remote attacker to bypass per-connection resource limits via a single TCP write that carries several frames, one of which raises a stream error. When a frame raises StreamError partway through a chunk, Bandit.HTTP2.Handler.handle_data/3 sends RST_STREAM and continues with the connection state from before the chunk, dropping the rest of it. Streams opened by earlier frames in the chunk keep running their Plug calls, but the stream counts, last_stream_id, the rapid-reset timestamps, the HPACK decoder state and the buffer roll back, so max_concurrent_streams, max_requests and the rapid-reset limiter never see those streams. A client that sends one HEADERS frame more than max_concurrent_streams in each write has the extra refused and the others forgotten: with a limit of 10, five such writes run 50 Plug calls at once. This issue affects bandit: from 1.9.0 before 1.14.0.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
Disable HTTP/2 with http_2_options: [enabled: false], so that the vulnerable HTTP/2 handler never runs.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
mtrudel / bandit
{
"status": "affected",
"version": "1.9.0",
"lessThan": "1.14.0",
"versionType": "semver"
}cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*
mtrudel / bandit
{
"status": "affected",
"version": "3ad49c80c268891e7cc412e69649115456638e59",
"lessThan": "220b9dfd27f9a21305be2afc75cbe585ddc24e7a",
"versionType": "git"
}cpe:2.3:a:mtrudel:bandit:*:*:*:*:*:*:*:*
CVSS: оценки и векторы
CVSS 4.0 · cve8.2
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 4.0 · 6b3ad84c-e1a6-4bf7-a703-f496b71e49db8.2
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/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:X/R:X/V:X/RE:X/U:X
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"nvd"
],
"epss": {
"source": "epss",
"received_at": "2026-11-02T21:11:09.420318+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T18:32:45.195955+00:00"
},
"scores": [
"cve",
"nvd"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T18:32:45.195955+00:00"
},
"affected": [
"cve"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T18:32:45.195955+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-02T21:11:09.420318+00:00"
},
"references": [
"cve",
"nvd"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T18:32:45.195955+00:00"
},
"workarounds": [
"cve"
],
"configurations": []
}Хронология записи
- Данные обновлены03.11.2026, 00:11
- Данные обновлены02.11.2026, 00:09
- Данные обновлены31.10.2026, 11:57
- Данные обновлены30.10.2026, 16:38
- Появились сведения об исправлении28.10.2026, 21:32
- Данные обновлены28.10.2026, 18:05
- Опубликована28.10.2026, 15:16
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-110314 WebSocket frames keep reaching the WebSock after a server-initiated close in Bandit mtrudel / bandit | Высокий | 6.3 | 0,38 % | PoCПатч | 26.10.2026 | |
| CVE-2026-116078 HTTP/2 request bodies made of 1-byte DATA frames amplify memory use in Bandit mtrudel / bandit | Высокий | 8.7 | 0,49 % | Патч | 28.10.2026 | |
| CVE-2026-42786 WebSocket fragmented message reassembly unbounded in bandit mtrudel / bandit | Критический | 8.7 | 0,65 % | PoCПатч | 01.05.2026 | |
| CVE-2026-39804 WebSocket permessage-deflate inflate has no output-size cap in bandit mtrudel / bandit | Критический | 8.2 | 0,76 % | PoCПатч | 01.05.2026 | |
| CVE-2026-39805 CL.CL HTTP request smuggling via duplicate Content-Length in bandit mtrudel / bandit | Высокий | 6.3 | 0,63 % | PoCПатч | 01.05.2026 |