Brotli decoder overflow leaks memory, RCE risk (CVE-2026-111497) [PoC]
CVE-2026-111497
CVE-2026-111497: Brotli 1.0.3-1.2.0 decoder buffer overflow (CVSS 9.2) lets remote attackers leak memory, crash decoders, or run code. Update to 1.2.1.
Exploitation confirmed - public proof-of-concept - CVE-2026-111497 is a critical buffer overflow in the Google Brotli decoder (c/dec/decode.c) affecting versions 1.0.3 through 1.2.0 on all platforms, and it lets a remote unauthenticated attacker corrupt adjacent decoder state memory, disclose sensitive memory contents, cause a denial of service, or potentially execute arbitrary code with a crafted Brotli-compressed stream. Patched in 1.2.1 (also 1.0.10 and 1.1.1); update any embedded Brotli library immediately.
Overview
Brotli is a compression algorithm Google maintains and ships widely: browsers, web servers, CDNs, HTTP client libraries, and countless applications embed the reference C/C++ decoder. The bug lives in c/dec/decode.c, where the decoder mishandles certain length or state transitions while processing a compressed stream. When a target decodes a maliciously crafted Brotli stream, the write exceeds the intended buffer and lands in adjacent decoder state memory.
Because Brotli decoding is typically reachable over the network - think Content-Encoding: br on an HTTP response or a request body an application decompresses - an attacker needs no credentials and no user interaction. They only need the victim to decode attacker-supplied data. The CVSS 9.2 score reflects that: network vector, low complexity, no privileges, no interaction.
Impact
The consequences depend on how the decoder is reached:
- Memory disclosure. Corrupted decoder state can cause sensitive heap contents to leak into decompressed output, exposing secrets such as keys, tokens, or adjacent request data.
- Denial of service. A malformed stream can crash the decoder outright, taking down servers, proxies, or client processes.
- Potential code execution. In the worst case, controlled corruption of adjacent state can be steered toward arbitrary code execution. The public proof-of-concept demonstrates the overflow; reliable exploitation depends on the specific build, hardening flags, and memory layout.
Any service that decompresses untrusted Brotli data - web servers, API gateways, proxies, crawlers, mail scanners, and anything linking a bundled Brotli library - should be treated as exposed.
Remediation and Mitigation
- Upgrade the Brotli library. Move to 1.2.1. If you are pinned to an older line, 1.1.1 or 1.0.10 carry the fix. Verify the version your application actually links, including statically compiled copies and transitive dependencies.
- Audit embedded copies. Language runtimes, HTTP clients, load balancers, and container base images often vendor their own Brotli. Grep build manifests and SBOMs for
brotliand confirm each instance. - Interim mitigation. Where you cannot patch immediately, disable Brotli decompression of untrusted data (reject or strip
Content-Encoding: brat the edge) and avoid decompressing attacker-controlled payloads. - Harden builds. Compile with stack protection, ASLR, and modern allocator hardening to raise the bar for turning the overflow into code execution.
Security Insight
Brotli’s bug is a reminder that ubiquitous, low-level codecs are a systemic supply-chain risk: one overflow in a library nobody thinks about ships into browsers, servers, and embedded devices simultaneously. The disclosure also carries a familiar pattern of a public proof-of-concept arriving alongside the fix, compressing the patch window to days. Compare this to the recent Chrome V8 zero-day and the broader weekly threat roundup: decoder and parser bugs remain the workhorse of real-world exploitation, and organizations that inventory third-party libraries catch them faster than those that only track top-level vendors.
Further Reading
Never miss a critical vulnerability
Get real-time security alerts delivered to your preferred platform.
Public PoC References
Unverified third-party code
These repositories are publicly listed on GitHub and have not been audited by Yazoul Security. They may contain malware, backdoors, destructive payloads, or operational security risks (telemetry, exfiltration). Treat them as hostile binaries. Inspect source before execution. Run only in isolated, disposable lab environments (offline VM, no credentials, no production data).
Authorized use only. This information is provided for defensive research, detection engineering, and patch validation. Using exploit code against systems you do not own or do not have explicit written permission to test is illegal in most jurisdictions and violates Yazoul's terms of use.
| Repository | Stars |
|---|---|
| CaterMaoZi/CVE-2026-111497-POC Nodejs漏洞 CVE-2026-111497 POC | ★ 10 |
| dimasma0305/CVE-2026-111497-POC Reproducible local Brotli decoder proof for CVE-2026-111497 with a self-checking tuned RCE harness | ★ 9 |
| hypnguyen1209/CVE-2026-111497 Node.js Brotli Decoder OOB Write to RCE | ★ 3 |
| Sami-AlEsh/nodejs-security-check Agent skill + zero-dependency script: check a Node.js project against the Oct 2026 Node.js security release (Brotli RCE CVE-2026-111497 and 9 more) and bump version pins to the patched release | ★ 1 |
| TahuCryptsi/node-brotli-check Local probe for CVE-2026-111497 (Node.js Brotli decoder OOB write). Fixed in 22.23.4/24.22.1/26.12.1; EOL lines unpatched forever. Single file, zero deps. | ★ 0 |
Showing 5 of 7 known references. Source: nomi-sec/PoC-in-GitHub.
Related Advisories
A buffer overflow vulnerability in the User-ID™ Authentication Portal (aka Captive Portal) service of Palo Alto Networks PAN-OS software allows an unauthenticated attacker to execute arbitrary code wi...
A heap-based buffer overflow in the Kerberos hash parser in hashcat v7.1.2 allows an attacker to cause a denial of service or possibly execute arbitrary code via a crafted Kerberos hash file. The issu...
SD-330AC and AMC Manager provided by silex technology, Inc. contain a heap-based buffer overflow vulnerability in processing the redirect URLs. Arbitrary code may be executed on the device....
Heap buffer overflow in ANGLE in Google Chrome prior to 147.0.7727.101 allowed a remote attacker to potentially perform a sandbox escape via a crafted HTML page. (Chromium security severity: Critical)...