Node.js and Google Brotli (Node2Shell): out-of-bounds write in the Brotli decoder lets crafted compressed data run code via fetch() and Express 5 or body-parser 2 request bodies (CVSS 4.0 9.2); fixed in Node.js 22.23.4, 24.22.1 and 26.12.1, Brotli 1.2.1 and PyPI Brotli 1.2.1 and brotlicffi 1.2.1.0
cve · CVE-2026-111497
Action items (1)
Do-now tasks recorded on the entries about CVE-2026-111497, newest first. Check the date before acting on an older one.
- Update every Node.js 22.x, 24.x and 26.x runtime to 22.23.4, 24.22.1 or 26.12.1, including the Node binary inside container images, which a package inventory misses, and upgrade the PyPI Brotli package to 1.2.1 and brotlicffi to 1.2.1.0 wherever either is installed; move any application on an end-of-life Node.js line to a supported release.2026-10-24CVE-2026-111497
Defender insights
What each entry about CVE-2026-111497 tells a defender to do, newest first.
Story timeline
Hunting pivots
ATT&CK techniques (1 across 1 tactic)
1 technique observed across 1 entry about this entity, derived from entry metadata and body evidence, never asserted without a published entry behind it · pinned to MITRE ATT&CK v20.0 · compare on the matrix · Navigator layer (JSON)
- Initial AccessExploit Public-Facing Application
Initial Access TA0001
T1190Exploit Public-Facing Application×1
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network. The weakness in the system can be a software bug, a temporary glitch, or a misconfiguration.
Evidence: 2026-10-24/cve-2026-111497-node2shell-brotli-decoder-rce-nodejs-pypi · ATT&CK page ↗
Entries about Node.js and Google Brotli (Node2Shell): out-of-bounds write in the Brotli decoder lets crafted compressed data run code via fetch() and Express 5 or body-parser 2 request bodies (CVSS 4.0 9.2); fixed in Node.js 22.23.4, 24.22.1 and 26.12.1, Brotli 1.2.1 and PyPI Brotli 1.2.1 and brotlicffi 1.2.1.0 (1)
Co-occurring entities
Derived: referenced by the same focused operational entries (weekly summaries and report roundups don't count); ×N counts the shared entries.
Where this entity is cited
Source distribution
- nodejs.org4 (50%)
- euvdservices.enisa.europa.eu1 (12%)
- github.com1 (12%)
- imperva.com1 (12%)
- opensourcemalware.com1 (12%)
External references
All cited sources (8)
- nodejs.orgprimaryNode.js project (release v22.23.4)https://nodejs.org/en/blog/release/v22.23.4/
- nodejs.orgprimaryNode.js project (release v24.22.1)https://nodejs.org/en/blog/release/v24.22.1/
- nodejs.orgprimaryNode.js project (release v26.12.1)https://nodejs.org/en/blog/release/v26.12.1/
- nodejs.orgprimaryNode.js projecthttps://nodejs.org/en/blog/vulnerability/october-2026-security-releases
- euvdservices.enisa.europa.euENISA EUVDhttps://euvdservices.enisa.europa.eu/api/enisaid?id=EUVD-2026-108169
- github.comGoogle Brotlihttps://github.com/google/brotli/releases/tag/v1.2.1
- imperva.comImperva Threat Researchhttps://www.imperva.com/blog/node2shell-from-brotli-data-to-remote-code-execution/
- opensourcemalware.comOpenSourceMalwarehttps://opensourcemalware.com/blog/node2shell-affects-python