В библиотеке с эталонной реализацией декодировщика для формата сжатия данных Brotli выявлена уязвимость (CVE-2026-111497, приводящая к переполнению буфера при обработке специально оформленных сжатых данных. По данным Google уязвимость может использоваться для удалённого выполнения кода при атаке на проекты, использующие официальную реализацию декодировщика Brotli. Среди подобных проектов Node.js, Bun, Envoy, Istio, web-браузеры, прокси-серверы, HTTP-клиенты и -серверы, архиваторы, прокси-серверы, UEFI-прошивки, просмотрщики JPEG XL, декодирующие контент библиотеки для Python, Ruby, Java, PHP и .NET и связанные с ними зависимости.
В библиотеке с эталонной реализацией декодировщика формата сжатия данных Brotli выявлена уязвимость (CVE-2026-111497, кодовые имена Broccoli2Shell и HTTP2Shell), приводящая к переполнению буфера при обработке специально оформленных сжатых данных. По данным Google уязвимость может использоваться для удалённого выполнения кода при атаке на проекты, использующие официальную реализацию декодировщика Brotli. Среди затрагиваемых уязвимостью проектов: Node.js, Bun, Envoy, Istio, web-браузеры, прокси-серверы, HTTP-клиенты, HTTP-серверы, архиваторы, прокси-серверы, UEFI-прошивки, просмотрщики JPEG XL, декодирующие контент библиотеки для Python, Ruby, Java, PHP и .NET и связанные с ними зависимости.
Проблема была выявлена компанией OpenAI в феврале этого года и блокирована в кодовой базе Brotli через отбрасывание некорректных потоков при декодировании. 22 октября были опубликованы корректирующие выпуски Brotli 1.0.10, 1.1.1 и 1.2.1 в которых явно было заявлено об устранении уязвимости и исправлена суть проблемы. В этот же день был создан прототип эксплоита, позволивший удалённо выполнить код в лабораторных условиях, при использовании нестандартных сборок (в стандартных сборках происходило аварийное завершение). Позднее компания Imperva зафиксировала атаку на штатные сборки Node.js 24.22.0 в Linux-окружении на системе ARM64.
Уязвимость приводит к записи за пределы буфера из-за некорректной обработки ошибок в процессе разбора блоков в сжатом потоке. Функция DecodeBlockTypeAndLength() вместо кода ошибки возвращала только значения true и false, что не позволяло вызывающему коду отличить повреждение потока от состояния, требующего передачи в функцию дополнительных данных. В случае указания в потоке некорректного типа блока сжатых данных, декодировщик воспринимал его не как ошибку, а как состояние нехватки данных, требующее дополнительного чтения из потока. Но так как выделенный буфер не был рассчитан на дополнительно прочитанные данные, они записывались в область за его пределами, в которой хранилось внутреннее состояние декодировщика.
Подверженные уязвимости проекты:
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Раскрыты эксплоиты для 23 неисправленных уязвимостей в FFmpeg, VLC, Firefox, Docker, PHP, OpenVPN, nmap, libssh2, nghttp2 и 7zip | 0 | 7 | 28-06-2026 |
| 2 | Две критические уязвимости в PHP (CVE-2026-109618 и CVE-2026-109619): что известно и как защититься | 0 | 11.14 | 23-10-2026 |
| 3 | Серверы, обеспечивающие безопасность интернета, выводят из строя 11 байт вредоносного кода | 0 | 7 | 21-07-2026 |
| 4 | Серверы, обеспечивающие безопасность интернета, выводят из строя 11 байт вредоносного кода | -2 | 7 | 21-07-2026 |
| 5 | Critical BlockStrap flaw lets hackers run code on Magento servers | 0 | 9.82 | 16-10-2026 |
| 6 | CVE-2026-34197: Apache ActiveMQ Jolokia API Remote Code Execution | 0 | 10.34 | 24-08-2026 |
| 7 | Security advisories: Drupal core - Moderately critical - Cross-site scripting - SA-CORE-2026-011 | 0 | 7 | 15-07-2026 |
| 8 | Уязвимости в Unbound, Kata-Containers, BIND, PostgreSQL, HPLIP, MongoDB, Rsync, 7-zip, Yelp, qSnapper и Suricata | 0 | 5 | 28-05-2026 |
| 9 | 🚨 Patch-Stress im Mai 2026 | 0 | 27.8 | 09-05-2026 |