Brotli decoder OOB write — KEV, Node.js / .NET / libbrotli (CVE-2026-111497)
Суть
В декодере Google Brotli ошибка обработки потока приводит к записи за границей внутреннего буфера. Удалённый без аутентификации, если жертва принимает и распаковывает сформированный Brotli-вход (типично HTTP/библиотечный decompress). Последствия по вендорам: crash, disclosure памяти процесса, remote code execution (Node.js); у Microsoft — Elevation of Privilege, Critical, CVSS 8.1. CVSS 9.2 CRITICAL — Palo Alto (и ENISA EUVD в ленте, страница EUVD при сверке была недоступна). EPSS ~82.6% (по ленте).
Затронуто и исправлено
| Компонент | Уязвимо | Исправлено |
|---|---|---|
| Google Brotli | в ветке 1.0 — ниже 1.0.10; 1.1 — ниже 1.1.1; 1.2 — ниже 1.2.1 (типичный диапазон раскрытия: от 1.0.3) | ≥1.0.10; ≥1.1.1; ≥1.2.1 |
| Node.js 22.x | ниже 22.23.4 | 22.23.4 |
| Node.js 24.x | ниже 24.22.1 | 24.22.1 |
| Node.js 26.x | ниже 26.12.1 | 26.12.1 |
| .NET 8/9/10/11, VS, PowerShell | см. MSRC | обновления MSRC; Ubuntu USN-8958-1 (29.10) |
| PAN-OS 12.2 / 12.1 / 11.2 | при Brotli inspection + TLS decrypt — см. таблицу hotfix | hotfix из advisory Palo Alto; SaaS — без действия клиента |
Пример: Node 24.22.0 — уязвима, 24.22.1 — исправлена. Brotli 1.0.9 — уязвима, 1.0.10 — исправлена; 1.2.0 — уязвима, 1.2.1 — исправлена.
Условие Node.js (официально): атакующий подаёт Brotli-данные, которые приложение decompress’ит через node:zlib.
PAN-OS: воздействие на dataplane при указанном конфиге; Management UI/API не затронуты (Palo Alto). Brotli encoding по умолчанию отключён в части веток — сверяйте фактический конфиг.
Эксплуатация
- CISA KEV: внесено 2026-10-27, due 2026-11-10; ransomware в KEV — Unknown.
- MSRC: Exploited = No, Publicly disclosed = Yes — противоречие с KEV; для приоритета патча опирайтесь на KEV.
- Публичный PoC: есть (по агрегату ленты); ссылок и деталей нет.
- Масштаб компрометаций — неизвестен.
Как проверить
node -v
# ожидание: v22.23.4+ / v24.22.1+ / v26.12.1+ своей линии# Debian/Ubuntu — номер пакета ≥ исправления вашей ветки / advisory дистрибутива
dpkg -l 'libbrotli*' 'brotli' 2>/dev/null | awk '/^ii/{print}'
dotnet --list-runtimes 2>/dev/null- .NET/Windows: каталог обновлений MSRC по CVE-2026-111497 (KB/сборки в карточке MSRC). Успех: runtime из
dotnet --list-runtimesсовпадает с таблицей MSRC/USN. - PAN-OS: CLI-проверка включения Brotli inspection — шаги в advisory Palo Alto (откройте advisory).
- PaaS/чужой хостинг Node: спросите у хостера/образа фактический
node -v, не полагайтесь на «latest» в панели.
Как исправить
- Node.js: поставьте security-сборки 22.23.4 / 24.22.1 / 26.12.1 (или новее линии); перезапустите процессы/поды; зафиксируйте образ/пакетный pin.
- .NET / VS / PowerShell: установите обновления из MSRC; на Ubuntu — пакеты из USN-8958-1 (
apt updateи установка нужныхdotnet*/ runtime). Критерий:dotnet --list-runtimes/ сверка с таблицей USN-8958-1. - Системная/vendored libbrotli: обновите до ≥1.0.10 / ≥1.1.1 / ≥1.2.1 своей ветки; пересоберите статически линкованные бинарники.
- PAN-OS: hotfix из таблицы Palo Alto; либо временно отключите Brotli inspection/decrypt по рекомендациям вендора.
Подводные камни: плавающие теги node:22 / node:24 без patch; pinned digest со старым слоем; sidecar’ы со старым Node; .NET self-contained publish со старым runtime; кэш CDN/registry.
Если обновить нельзя
- Не принимайте недоверенный Brotli на входе сервиса (отключите decompress на периметре / в приложении), пока патч не встанет — это снижение экспозиции, не полный эквивалент патча.
- PAN-OS: отключение инспекции Brotli по advisory.
- Полного официального workaround от Google Brotli в доступных первоисточниках нет.
Признаки взлома и что делать
Готовых IoC под CVE-2026-111497 в Node.js / MSRC / Palo Alto advisory нет → ориентируйтесь на общий triage компрометации runtime (неожиданные процессы, исходящие соединения, целостность бинарников). После подтверждённого взлома одного обновления недостаточно: изоляция, ротация секретов, восстановление из чистой точки.
Источники
- Node.js Security Releases, 21.10.2026: https://nodejs.org/en/blog/vulnerability/october-2026-security-releases
- Microsoft MSRC CVE-2026-111497: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-111497
- Ubuntu USN-8958-1: https://ubuntu.com/security/notices/USN-8958-1
- Palo Alto Networks CVE-2026-111497: https://security.paloaltonetworks.com/CVE-2026-111497
- CISA KEV: CVE-2026-111497 (каталог known exploited, added 2026-10-27)