GHSA-9v8h-qqgm-4m35
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted brotli stream to Node.js service
-
ExploitTrigger block-switch error in brotli decoder
-
ExecutionOut-of-bounds write corrupts process memory
-
ImpactAchieve remote code execution
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Return value checking
|
| Exploitation Conditions | Exploitation requires the target Node.js application to decompress attacker-controlled brotli-compressed data through the bundled brotli decoder - for example handling responses/requests with Content-Encoding: br, or passing untrusted input to zlib.brotliDecompress/BrotliDecompress. The CVSS 4.0 AT:P metric reflects that a specific condition (a malformed brotli stream hitting the BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH error path) must be met rather than the flaw triggering on any input. Limiting factors: deployments that never feed untrusted brotli data to the decoder are not exposed; no authentication (PR:N) or user interaction (UI:N) is required where untrusted brotli is processed. Affected brotli versions are 1.1.0 before 1.1.1, 1.0.3 before 1.0.10, and 1.2.0 before 1.2.1; the complete fix is upgrading to the patched Node.js release v26.12.1 (or a brotli build with the cherry-picked fix) as stated by the vendor. The exact memory-corruption trigger mechanism is not fully described in the available sources. |
| Impact | This is a genuine high priority, not a high-CVSS-but-low-risk issue. The CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N, score 9.2) describes a network-reachable flaw requiring no privileges (PR:N) and no user interaction (UI:N), with high confidentiality, integrity and availability impact (VC:H/VI:H/VA:H) consistent with the vendor advisory's claim of remote code execution. The one tempering signal is AT:P (attack requirement present), meaning exploitation depends on a specific condition - the application must feed a malformed, attacker-controlled brotli stream through the bundled decoder - rather than being trivially triggerable against any default install. The vuln.today decision label is act_now, reinforcing urgency. Counterbalancing signals: there is NO CISA KEV listing, so this is not confirmed actively exploited, and NO EPSS score was provided in the input, so probabilistic exploitation likelihood cannot be assessed here. A PoC reference is present but is explicitly unverified as working exploit code. Given Node.js's ubiquity and the unauthenticated-network RCE potential, this should be patched urgently even though active in-the-wild exploitation is not confirmed. Note the CWE (CWE-252, unchecked return value) describes the root cause while the advisory describes the consequence as an out-of-bounds write enabling RCE - consistent, but worth verifying the exact impact ceiling with the vendor. |
| Exploit ScenarioDerived | A remote attacker sends crafted, malformed brotli-compressed data to a Node.js application that decompresses untrusted brotli input (for example a service accepting Content-Encoding: br, or code calling zlib.brotliDecompress on user-supplied data). The malformed stream triggers the block-switch error path in the bundled brotli decoder, causing an out-of-bounds write that corrupts memory and, per the vendor advisory, can lead to remote code execution. A public PoC reference exists; it is not verified as working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
Remote code execution is possible in Node.js releases that bundle a vulnerable Brotli decoder: a malformed brotli-compressed stream can trigger an out-of-bounds write when decompressed, corrupting memory in the process handling the data. Exposure is limited to deployments that actually pass attacker-controlled brotli data into the decoder - for example services honouring Content-Encoding: br on untrusted requests or responses, or applications calling zlib.brotliDecompress/BrotliDecompress on untrusted input - and no authentication or user interaction is required in that scenario. The flaw is rated High with a CVSS 4.0 score of 9.2 (assessed CVSS 3.1: AV:N/AC:H/PR:N/UI:N/C:H/I:H/A:H), no CISA KEV listing confirms active exploitation, and a public PoC reference exists but is not verified as working exploit code; the vendor fix is Node.js v26.12.1, released 2026-10-21.
RemediationAI
Upgrade to Node.js v26.12.1 (released 2026-10-21), which contains the Brotli cherry-pick 0ed4268a4401abcb44720963 and the src change that exposes BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH; downstreams maintaining Brotli independently should move to 1.0.10, 1.1.1 or 1.2.1 respectively, or apply the same upstream commit - the vendor presents upgrading as the complete fix. Where an immediate upgrade is not possible, the practical compensating control is to stop feeding untrusted brotli data to the decoder: strip or reject Content-Encoding: br at the reverse proxy or HTTP client layer for untrusted peers, and avoid calling zlib.brotliDecompress/BrotliDecompress on externally supplied buffers, at the cost of losing brotli compression benefits and larger transfer sizes for those paths. Services that never decode attacker-controlled brotli payloads are not exposed and can be scheduled for normal patch cadence, though the fix should still be applied. Advisory URLs: https://nodejs.org/en/blog/vulnerability/october-2026-security-releases#nodejs-brotli-decoder-out-of-bounds-write-permits-remote-code-execution-cve-2026-111497---high and https://github.com/nodejs/node/releases/tag/v26.12.1.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue lives in the Brotli compression library that Node.js ships in its deps/brotli tree and exposes through the zlib module and HTTP content-encoding handling. The root cause class is CWE-252 (Unchecked Return Value): the Node.js side did not surface the decoder's BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH status, so a stream that terminates a meta-block with an unexpected block-switch condition was not reported as a decoding error and processing continued into an out-of-bounds write. The upstream library fix is cherry-pick 0ed4268a4401abcb44720963, paired in the Node.js release with a change that explicitly exposes BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH so callers can detect this condition. The CVSS 4.0 AT:P metric reflects that a specific precondition must be met - the malformed stream has to reach that particular error path - rather than any brotli input producing corruption; the precise memory-corruption trigger mechanism is not fully described in the available sources. Affected Brotli builds per EUVD are 1.0.3 before 1.0.10, 1.1.0 before 1.1.1, and 1.2.0 before 1.2.1.
Know when Node.js gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
AV:N/PR:N/UI:N as remote unauthenticated; AC:H folds in the 4.0 AT:P requirement for a malformed attacker-controlled brotli stream; C/I/A:H from potential RCE.
Primary rating from Vendor (CNA).
CVSS VectorVendor
Lifecycle Timeline
2Description PRE-NVD
Technical POC Analysis
CWE-252 - Unchecked Return Value.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
A critical memory corruption vulnerability in Node.js's Brotli decompression library (CVE-2026-111497) can allow remote code execution in any service that processes attacker-controlled Brotli-compressed data, such as web applications honoring 'Content-Encoding: br' from untrusted sources. This affects internet-facing or partner-integrated Node.js services, potentially enabling full system compromise and data breach, though exploitation requires a specific configuration and no active exploitation has been confirmed. Leadership should prioritize remediation to protect critical business services and sensitive data.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
EUVD-2026-108169
NVD
CVE.org
VulDB
Exploit-DB