Summary
CVE-2026-111497 is an out-of-bounds write in the Brotli decoder. The Node.js security release announcement lists Node.js 22.x, 24.x and 26.x as affected. The CVE record rates it Critical (CVSS 4.0 score 9.2) and describes it as exploitable by a remote, unauthenticated attacker.
Technical details
- Root cause: the Brotli decoder (c/dec/decode.c in the upstream Brotli library) performs an out-of-bounds write. The CVE record says this corrupts adjacent decoder state memory.
- Trigger conditions: the decoder processes a specially crafted Brotli-compressed stream.
- Attack vector: network. No authentication is required, per the CVE record.
- Impact: the CVE record lists memory corruption, information disclosure, denial of service and possible arbitrary code execution. The Node.js announcement describes the issue as permitting remote code execution.
- Credit (Node.js announcement): reported by Khai Tran and Sylvie Mayer (OpenAI Codex Security). Fixed by mcollina and aduh95.
- The CVE record lists Google as the assigner and the upstream Brotli library as the affected product. Upstream Brotli versions 1.0.3–1.0.9, 1.1.0 and 1.2.0 are listed as affected, and fixes are in Brotli 1.0.10, 1.1.1 and 1.2.1.
- I could not confirm which Node.js releases within each line are vulnerable, beyond the patched versions below. I also could not confirm whether any particular application is exposed. Exposure depends on whether it decompresses untrusted Brotli data.
Affected software
- Node.js 22.x (before v22.23.4)
- Node.js 24.x (before v24.22.1)
- Node.js 26.x (before v26.12.1)
- Upstream Brotli library: 1.0.3 through 1.0.9, 1.1.0, and 1.2.0
Severity
- CVSS 4.0 base score: 9.2 (Critical), per the CVE record. A CVSS v3.1 score and vector string were not available in the sources reviewed.
- The Node.js announcement labels the issue "High" severity.
Mitigation and recommended actions
- Immediate: upgrade Node.js to v22.23.4 (22.x), v24.22.1 (24.x) or v26.12.1 (26.x), or later.
- If you bundle or link the Brotli library separately, upgrade it to 1.0.10, 1.1.1 or 1.2.1.
- No workarounds were identified in the sources reviewed. Until you patch, consider limiting Brotli-compressed input from untrusted sources to affected services. Examples are request bodies with
Content-Encoding: brand responses fetched from untrusted servers. This is a general precaution and was not taken from the advisory.

