
Cloud Vulnerability DB
コミュニティ主導の脆弱性データベース
CVE-2026-111497 is a buffer overflow (out-of-bounds write) vulnerability in the Google Brotli decoder (c/dec/decode.c) affecting versions 1.0.3 through 1.2.0 on all platforms. Discovered by OpenAI Codex Security researchers Khai Tran and Sylvie Mayer, it was disclosed on October 21–22, 2026 and is widely tracked under the alias Node2Shell (also called HTTP2Shell and Broccoli2Shell). The flaw affects Google Brotli directly and propagates to all software bundling it, including Node.js (< 22.23.4, < 24.22.1, < 26.12.1), Microsoft .NET (8.x < 8.0.33, 9.x < 9.0.22, 10.x < 10.0.14), Python PyPI brotli/brotlicffi packages, Envoy, Istio, ClickHouse, Apache Arrow, DuckDB, Bun, p7zip, PAN-OS, and many others. It carries a CVSS v3.1 base score of 9.8 (Critical) and a CVSS v4.0 base score of 9.2 (Critical) (Github Advisory, Node.js Advisory).
The root cause is an unchecked return value (CWE-252) combined with an out-of-bounds write (CWE-787) in the Brotli streaming decoder's block-switch handling. When the decoder encounters an invalid block-switch structure in a compressed stream, it incorrectly reports the condition as a temporary need for more input rather than a permanent format error. As a result, the decoder continues appending incoming bytes to an internal 8-byte buffer beyond its boundary, corrupting adjacent decoder state memory. In Node.js, the vulnerable code path is reachable via node:zlib APIs (zlib.brotliDecompress, createBrotliDecompress) and implicitly through fetch() when a server responds with Content-Encoding: br. No authentication or user interaction is required; an attacker only needs to supply a crafted Brotli-compressed stream to any endpoint that decompresses it (Node.js Advisory, Github Advisory).
Successful exploitation can result in corruption of adjacent decoder state memory, disclosure of sensitive process memory contents, denial of service via crash or infinite CPU loop, or remote code execution within the context of the application processing the compressed data. Because the Brotli library is bundled in many widely deployed runtimes and frameworks — including Node.js, .NET, Python packages, Envoy, Istio, PAN-OS, ClickHouse, and others — the blast radius is exceptionally broad, spanning web servers, API gateways, service meshes, data analytics platforms, and network security appliances. Imperva researchers independently validated that the flaw can lead to code execution on official Node.js builds, and the PingBack malware family has been reported as weaponizing this vulnerability (Github Advisory, Palo Alto Networks).
CVE-2026-111497 is actively exploited in the wild and was added to the CISA Known Exploited Vulnerabilities (KEV) catalog on October 28, 2026, with a federal patch deadline of October 29, 2026 (CISA KEV, Security Affairs). Multiple public proof-of-concept repositories exist on GitHub demonstrating denial-of-service and memory corruption; at least one PoC (TheFool-TAROT/CVE-2026-111497-brotli-pwn) includes a local RCE demonstration requiring deterministic memory layout, though no self-contained remote RCE exploit has been publicly confirmed. The EPSS score is approximately 32.8% (and the GitHub Advisory Database reports an 82.6th percentile EPSS), indicating high exploitation probability. Honeypots have logged active attack attempts, and Sophos, Fortinet (Node2Shell Outbreak Alert), and SecurityWeek have reported in-the-wild exploitation. The PingBack malware family has been linked to weaponization of this vulnerability (Feedly, Sophos).
zlib.brotliDecompress or fetch(), .NET applications, Python services with the brotli PyPI package, or Envoy/Istio proxies. Use Shodan, Censys, or active probing to fingerprint vulnerable versions.ikow/brotli2crash, CaterMaoZi/CVE-2026-111497-POC) demonstrate payload generation techniques.Content-Encoding: br header, or embed it in any channel where the application decompresses Brotli data (e.g., WebSocket frames, file uploads, API request bodies).Content-Encoding: br headers containing malformed or minimal Brotli payloads (e.g., payloads < 100 bytes with invalid metablock headers); repeated requests to decompression endpoints from unexpected source IPs; outbound connections from Node.js or application processes to unknown external hosts following decompression activity.BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH or similar decoder format errors (patched builds) vs. silent acceptance or generic errors (unpatched builds); Node.js crash logs (SIGSEGV, SIGABRT, or Windows access violation) originating from zlib.brotliDecompress or createBrotliDecompress call stacks; web server access logs with Content-Encoding: br on POST/PUT requests to API endpoints./bin/sh, cmd.exe, curl, wget, python); abnormal CPU usage spikes in decompression worker threads (infinite loop condition); process crashes and automatic restarts of application services.BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH absence in error responses (indicating unpatched decoder); heap corruption signals in application performance monitoring (APM) tools (Feedly, Sophos).Primary remediation: Update the Brotli library to a patched version — 1.0.10, 1.1.1, or 1.2.1 — and update all dependent software:
brotli to ≥ 1.2.1 and brotlicffi to ≥ 1.2.1.0 (Github Advisory)set system setting brotli-encoding disable) or Web UI (Palo Alto Networks)Workarounds (if immediate patching is not feasible): Deploy WAF rules to block or inspect requests with Content-Encoding: br (Cloudflare, Azure WAF, and AWS WAF released emergency rules); disable Brotli decompression at the reverse proxy or load balancer layer; use network segmentation to limit exposure of services that decompress Brotli data from untrusted sources.
The vulnerability generated exceptional industry attention, being dubbed "Black October" alongside concurrent PHP and GitLab vulnerabilities. OpenAI's Codex Security team was credited with discovering the flaw, and Imperva researchers independently demonstrated RCE on an official Node.js Linux ARM64 build, publishing the "Node2Shell" write-up. Cloudflare, Azure WAF, and AWS deployed emergency WAF rules within days of disclosure. Fortinet issued a Node2Shell Outbreak Alert. SANS ISC, BleepingComputer, The Hacker News, SecurityWeek, The Register, Forbes, and Ars Technica all covered the vulnerability extensively. Security researchers on Mastodon and Bluesky noted the unusually broad supply-chain impact — affecting not just Node.js but Python, .NET, Bun, Envoy, Istio, ClickHouse, and embedded firmware. Community discussion on Hacker News and Reddit highlighted the challenge of transitive dependency exposure (e.g., npm packages not directly importing zlib still being vulnerable). Vercel deployed emergency firewall rules, and multiple cloud providers issued security bulletins (Sophos, Fortinet Outbreak Alert, SANS ISC).
主要なLinuxディストリビューションとそのリリース間での可用性を修正しましょう。
bionic (esm-apps)
nodejs
bionic (esm-infra)
brotli: 1.0.3-1ubuntu1.3+esm1
devel
brotli: 1.2.0-4ubuntu0.1
focal (esm-apps)
nodejs
focal (esm-infra)
brotli: 1.0.7-6ubuntu0.1+esm1
jammy
brotli: 1.0.9-2ubuntu0.1
jammy (esm-apps)
nodejs
noble
brotli: 1.1.0-2ubuntu0.1
OpenShift
el9:openshift/ose-rhel-coreos-9-0:414.92.202611040941-0
RHEL 8
:appstream:brotli-0:1.0.6-5.el8_10.src
RHEL 9
:appstream:firefox-0:140.10.0-1.el9_0.src
RHEL 10
brotli-0:1.1.0-6.el10_0.3.src
ソース: この報告書はAIを用いて作成されました
無料脆弱性評価
9つのセキュリティ領域にわたるクラウドセキュリティの実践を評価し、リスクレベルをベンチマークし、防御のギャップを特定しましょう。
パーソナライズされたデモを見る
"私が今まで見た中で最高のユーザーエクスペリエンスは、クラウドワークロードを完全に可視化します。"
"Wiz を使えば、クラウド環境で何が起こっているかを 1 つの画面で確認することができます"
"Wizが何かを重要視した場合、それは実際に重要であることを私たちは知っています。"