Мониторинг Карточка CVE
Открытые данные
К списку уязвимостей
Высокий
Патч
Опубликована

CVE-2026-111103

HTTP/2 StreamError recovery rolls back connection state and bypasses per-connection limits in Bandit

Публикация: 26.10.2026·Обновлена: 26.10.2026, 19:59·Europe/Moscow

Что произошло

Автоперевод выключен · оригинальное описание

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.

Что это значит

В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.

Что делать

Редакционные пояснения, сведения источников и общие рекомендации помечены отдельно
Устранить в течение 7 дней

1. Проверьте, затронуты ли вы

Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.

Debian / Ubuntu
dpkg-query -W -f='${Package}	${Version}\n'
RHEL / AlmaLinux
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'
Windows PowerShell
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
AV · Вектор атакисеть
AC · Сложность атакинизкая
AT · Условия атакинужны условия
PR · Привилегиине нужны
UI · Участие пользователяне нужно
VC · Конфиденциальность уязвимой системынет
VI · Целостность уязвимой системынет
VA · Доступность уязвимой системывысокое
SC · Конфиденциальность связанной системынет
SI · Целостность связанной системынет
SA · Доступность связанной системынет
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
AV · Вектор атакисеть
AC · Сложность атакинизкая
AT · Условия атакинужны условия
PR · Привилегиине нужны
UI · Участие пользователяне нужно
VC · Конфиденциальность уязвимой системынет
VI · Целостность уязвимой системынет
VA · Доступность уязвимой системывысокое
SC · Конфиденциальность связанной системынет
SI · Целостность связанной системынет
SA · Доступность связанной системынет
E · Eзначение X; см. спецификацию CVSS
CR · CRзначение X; см. спецификацию CVSS
IR · IRзначение X; см. спецификацию CVSS
AR · ARзначение X; см. спецификацию CVSS
MAV · MAVзначение X; см. спецификацию CVSS
MAC · MACзначение X; см. спецификацию CVSS
MAT · MATзначение X; см. спецификацию CVSS
MPR · MPRзначение X; см. спецификацию CVSS
MUI · MUIзначение X; см. спецификацию CVSS
MVC · MVCзначение X; см. спецификацию CVSS
MVI · MVIзначение X; см. спецификацию CVSS
MVA · MVAзначение X; см. спецификацию CVSS
MSC · MSCзначение X; см. спецификацию CVSS
MSI · MSIзначение X; см. спецификацию CVSS
MSA · MSAзначение X; см. спецификацию CVSS
S · Область воздействиязначение X; см. спецификацию CVSS
AU · AUзначение X; см. спецификацию CVSS
R · Rзначение X; см. спецификацию CVSS
V · Vзначение X; см. спецификацию CVSS
RE · REзначение X; см. спецификацию CVSS
U · Uзначение X; см. спецификацию CVSS

Источники и ссылки

Происхождение полей
{
  "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": []
}

Хронология записи

  1. Данные обновлены03.11.2026, 00:11
  2. Данные обновлены02.11.2026, 00:09
  3. Данные обновлены31.10.2026, 11:57
  4. Данные обновлены30.10.2026, 16:38
  5. Появились сведения об исправлении28.10.2026, 21:32
  6. Данные обновлены28.10.2026, 18:05
  7. Опубликована28.10.2026, 15:16

Личная заметка и статус

Другие CVE того же продукта

УЯЗВИМОСТЬ / ПРОДУКТПРИОРИТЕТCVSSEPSSСИГНАЛЫОПУБЛИКОВАНАКарточка
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
CVE-2026-111103: HTTP/2 StreamError recovery rolls back connection state and bypasses per-connection limits in Bandit · CVE Радар