Новости
7-Zip закрыл критическую уязвимость декодера XZ-архивов
Разбираем RCE-уязвимость в декодере XZ 7-Zip и обновление, которое её устранило.
CISA внесла уязвимость CVE-2026-111497 (получившую имя Node2Shell) в каталог Known Exploited Vulnerabilities 27 октября 2026 года и назначила федеральным агентствам США срок устранения — 10 ноября 2026, то есть сегодня. Брешь в декодере библиотеки сжатия Brotli с оценкой CVSS 9.2 Critical затронула не только серверный Node.js, но и десктопный софт для работы с файлами, включая архиватор Total Commander.

Коротко: в декодере Brotli — библиотеки сжатия, которую используют браузеры, серверы и десктопные архиваторы, — нашли уязвимость выхода за границы буфера (CVE-2026-111497, «Node2Shell»). Она затрагивает версии Brotli с 1.0.3 по 1.2.0 и исправлена в 1.0.10, 1.1.1 и 1.2.1. Патчи уже выпустили Node.js, Bun, Microsoft (.NET), Python-пакеты brotli/brotlicffi и десктопные программы вроде Total Commander. CISA требует от федеральных ведомств США закрыть уязвимость к 10 ноября 2026 — сегодня.
Исходную ошибку в коде библиотеки Brotli разработчики Google исправили ещё 27 февраля 2026 года, но тогда это выглядело как рядовой багфикс без заметки о безопасности. Её реальные последствия для безопасности обнаружили только во время red-team-исследований специалисты OpenAI Codex Security: оказалось, что поток, который объявляет один тип блока, а затем переключается на другой без корректного завершения, не отклоняется декодером. В результате данные продолжают дописываться во внутренний 8-байтовый буфер за его границами — классическое out-of-bounds write (CWE-787).
Эксплуатация такой ошибки может привести к падению процесса, утечке содержимого памяти или — в худшем случае — к удалённому выполнению произвольного кода через специально подготовленный сжатый поток. Публичный proof-of-concept 22 октября 2026 подтвердил возможность RCE на официальном образе Node.js 24.22.0. Google оценил критичность по CVSS 4.0 в 9.2 балла (Critical), Microsoft — по CVSS 3.1 в 8.1.
Неофициальное имя уязвимости отсылает к тому, что самый заметный вектор атаки — через серверные приложения на Node.js, которые автоматически распаковывают входящий трафик со сжатием Brotli (заголовок Content-Encoding: br), не проверяя его происхождение.
Brotli — не узкоспециализированный инструмент, а библиотека сжатия общего назначения, встроенная в десятки экосистем: браузеры используют её для `Content-Encoding: br`, а многие файловые утилиты — для распаковки `.br`-архивов и внутренних контейнеров. Поэтому патчи пришлось выпускать не одному разработчику, а целому ряду вендоров практически одновременно.
| Продукт | Исправленная версия | Когда вышел патч |
|---|---|---|
| Node.js | 22.23.4 / 24.22.1 / 26.12.1 | 21 октября 2026 |
| Bun | 1.4.4 | октябрь 2026 |
| Microsoft .NET | 8.0.33 / 9.0.22 / 10.0.14 | октябрь 2026 |
| Python-пакеты brotli / brotlicffi | 1.2.1 / 1.2.1.0 | октябрь 2026 |
| Envoy, Istio | обновлены до патченного libbrotli | октябрь 2026 |
| Linux-дистрибутивы (пакет libbrotli) | зависит от дистрибутива | октябрь–ноябрь 2026 |
| Total Commander | 11.58.1 (обновлена BROTLI-dll в tcmdlzma) | 29 октября 2026 |
Для читателей Loadfile важнее всего последняя строка: уязвимость добралась и до привычных настольных инструментов для работы с файлами. Файловый менеджер и архиватор Total Commander умеет распаковывать `.br`-файлы через встроенный плагин tcmdlzma, и разработчик выпустил версию 11.58.1 именно как «важное обновление безопасности», обновив декодер. Иначе говоря, Brotli сидит не только в серверах, но и в обычных программах для распаковки файлов на домашнем компьютере.
CISA (Агентство кибербезопасности и защиты инфраструктуры США) добавило CVE-2026-111497 в каталог Known Exploited Vulnerabilities (KEV) 27 октября 2026 года — это означает, что уязвимость признана активно эксплуатируемой, а не только теоретической. По обязывающей директиве CISA федеральные гражданские ведомства США должны устранить такие уязвимости к назначенному сроку; для этой записи срок — 10 ноября 2026. Формально требование касается только госструктур США, но для любой компании включение в KEV значит одно: эксплойт уже рабочий, тянуть с обновлением опасно.
Для серверных окружений на Node.js или Bun достаточно свежей версии интерпретатора — патч идёт внутри рантайма, отдельно обновлять саму библиотеку Brotli не нужно.
node -v для Node.js или bun --version для Bun — она должна быть не ниже патченной из таблицы выше.pip show brotli brotlicffi и обновите пакеты, если версия ниже 1.2.1.Content-Encoding: br из недоверенного входящего трафика.Если вы в целом выбираете, какой архиватор использовать для повседневной работы с файлами, свежий разбор плюсов и минусов популярных форматов есть в статье ZIP, RAR или 7Z — какой формат архива выбрать. А полный список расширений, которые стоит открывать с осторожностью, собран в карте опасных расширений.