A buffer overflow that has existed since at least Brotli version 1.0.3 was uncovered not by human security researchers, but by a competitor’s own AI agents. That is what makes the Node.js Brotli vulnerability CVE-2026-111497 one of the most notable disclosures of 2026. On October 21, 2026, the Node.js project released security updates for three active version lines after it became clear that a years-old weakness in the Brotli decoder can lead to remote code execution.
Table of Contents
Key Takeaways
- The Node.js Brotli vulnerability CVE-2026-111497 affects the Brotli decoder in versions 1.0.3 through 1.2.0 and enables an out-of-bounds write bug.
- Google rates the flaw CVSS 9.2 (critical), Node.js itself calls it “high,” Red Hat rates it 8.1 (“important”).
- Node.js 22.x, 24.x, and 26.x are affected, along with other software such as Bun, the Envoy proxy, and, according to Imperva, Python.
- The vulnerability was discovered by OpenAI as part of an internal red-teaming project using its own AI agents.
- CISA lists the active-exploitation status (as of October 23, 2026) as “none,” but urgent action is still warranted.
What happened?
On October 21, 2026, the Node.js project shipped versions 22.23.4, 24.22.1, and 26.12.1 (official security advisory; see also our overview of the Node.js security update and the recent Node.js 26.12.0 and 24.22.0 releases). At the center of the updates is the flaw registered as CVE-2026-111497 in the Brotli compression library, which Node.js uses internally for HTTP compression and other functions. The actual root cause in Brotli’s source code had already been fixed in February 2026, but at the time nobody recognized the security implications of the change. As a result, no new release was issued to carry the fix, and the flawed codebase remained in use across countless products.
It was only when OpenAI uncovered the flaw during an internal red-teaming project that things started moving. The company deployed its own AI agents to test security measures for training advanced AI models. On October 23, 2026, OpenAI published the discovery both on X (formerly Twitter) and in a detailed blog post. The Node.js advisory credits Khai Tran and Sylvie Mayer of OpenAI Codex Security with reporting the issue. The CVE itself had already been reserved on October 16 and was published on October 22, 2026 (CVE record), and the Brotli project shipped updated releases 1.0.10, 1.1.1, and 1.2.1 (release notes) that now formally flag the February fix as a security update.
This timeline illustrates a structural problem in software development: a bug fix without a security label can sit unnoticed in critical infrastructure for years before anyone connects it to an exploitable vulnerability.
Technical breakdown of the Node.js Brotli vulnerability
The Node.js Brotli vulnerability stems from an out-of-bounds write bug in the decoder of the Brotli library. Brotli is a compression algorithm used, among other things, to transmit HTTP content in order to reduce data volume. The decoder is responsible for converting compressed data back into its original form.
In an out-of-bounds write, a program writes data outside the memory region allocated for it. In the case of CVE-2026-111497, an attacker can send specially crafted compressed data to an application that uses the flawed Brotli decoder. If the application processes this data, it can lead to:
- Program crash (denial of service)
- Memory leak, i.e. the unintended disclosure of memory contents
- Remote code execution (RCE), i.e. execution of arbitrary code by the attacker
Particularly concerning: the attack requires no authentication. An attacker only needs to be able to deliver compressed data to a vulnerable application, for example via an HTTP request with manipulated content.
Assessment by different institutions
Assessments of the severity of the Node.js Brotli vulnerability vary by institution, reflecting different scoring methodologies and contextual assumptions.
| Institution | Rating | Classification |
|---|---|---|
| CVSS 4.0: 9.2 | Critical | |
| Node.js project | Own scale | High |
| Red Hat | CVSS 8.1 | Important |
| CISA | Exploitation status (as of Oct 23) | None (no known active exploitation) |
“The flaw allows an unauthenticated attacker to trigger a buffer overflow in the decoder through crafted compressed data.” This phrasing makes clear why the vulnerability must be taken seriously despite the absence of known exploits in the wild: the technical barrier to an attack is comparatively low, since no credentials or special access rights are required.
Who is affected by the Node.js Brotli vulnerability?
The reach of the vulnerability extends far beyond Node.js, since the affected Brotli library is embedded as a dependency in numerous software products.
Directly affected Node.js versions:
- Node.js 22.x (fixed in 22.23.4)
- Node.js 24.x (fixed in 24.22.1)
- Node.js 26.x (fixed in 26.12.1)
Other affected software:
- Bun, the alternative JavaScript runtime, bundles the same flawed Brotli decoder
- Envoy proxy, a widely used service proxy in cloud-native infrastructure
- Python — security researchers at Imperva showed that Python environments also use the flawed library
This broad distribution is typical for vulnerabilities in so-called “upstream” libraries: a single flawed codebase gets adopted by dozens of independent projects, turning one bug into a problem for the entire software ecosystem. This is a dynamic we have also covered in our recent reporting on the PHP2Shell vulnerability, which exposed similarly critical RCE risk across widely deployed infrastructure.
Affected Brotli versions in detail
The underlying Brotli vulnerability affects versions 1.0.3 through 1.2.0. In practice, this means any software maintaining a dependency on Brotli within this version window — and using the decoder to process external data — is potentially vulnerable. The corrected Brotli versions are 1.0.10, 1.1.1, and 1.2.1.
What should developers do now?
Given the criticality of the Node.js Brotli vulnerability, web developers, DevOps teams, and IT security teams should act in a structured and swift manner.
Immediate actions
Update Node.js. Check the Node.js version in use and update immediately to 22.23.4, 24.22.1, or 26.12.1, depending on which version line is in production.
Check dependencies. Verify whether your own applications or third-party software you use (such as Bun or Envoy proxy) also bundle the flawed Brotli version.
Include Python environments. Since Python-based systems can also be affected, relevant dependencies should be checked as part of a comprehensive software inventory.
Increase monitoring. Even though CISA currently reports no active exploitation, monitoring for unusual crashes or memory errors in applications that use Brotli compression should be stepped up.
Long-term recommendations
DevOps teams should also regularly cross-check their Software Bill of Materials (SBOM) to systematically capture transitive dependencies like Brotli. This case is a clear example of how a bug fix without a security label can go unnoticed for months. Automated dependency scans that look not only for officially flagged CVEs but also for silent code changes in critical libraries are becoming increasingly valuable as a result.
Checklist for teams:
- Identify the Node.js version across all production and test environments
- Apply the patched version update
- Check container images and build pipelines for outdated Node.js base images
- Identify and update third-party software with a Brotli dependency (Bun, Envoy, Python packages)
- Ensure internal communication to development teams about the urgency of the update
Conclusion
The Node.js Brotli vulnerability CVE-2026-111497 illustrates how deeply interwoven dependencies in the modern software stack can become a significant security risk. A flaw originally fixed unnoticed in February 2026 only received the necessary attention and an official CVE entry after OpenAI’s AI-powered red-teaming uncovered it. With ratings of up to CVSS 9.2 and the possibility of remote code execution without prior authentication, operators of Node.js applications face urgent action.
Even though CISA reports no active exploitation in the wild as of October 23, 2026, this should not delay necessary measures. The affected Brotli library is found not only in Node.js, but also in Bun, Envoy proxy, and Python environments — meaning the actual attack surface is likely considerably larger than initially assumed. Web developers, DevOps teams, and IT security professionals should immediately apply the patched Node.js versions 22.23.4, 24.22.1, or 26.12.1, and in parallel audit their entire software landscape for outdated Brotli dependencies.



