CVE-2026-111497
Out-of-Bounds Write in Google Brotli Decoder
A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli versions 1.0.3 through 1.2.0 on all platforms allows a remote unauthenticated attacker to corrupt adjacent decoder state memory, disclose sensitive memory contents, cause a denial of service, or potentially execute arbitrary code using a crafted Brotli-compressed stream. Users need to update any Brotli libraries or binaries between 1.0.3 through 1.2.0 to the latest available version: 1.0.10 or 1.1.1 or 1.2.1.
Fixes and workarounds
Fix
Update any Brotli libraries or binaries between 1.0.3 through 1.2.0 to the latest available version: 1.0.10 or 1.1.1 or 1.2.1.
Source: CNA: GoogleFix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: CNA: GoogleFix
brotli (PyPI): OSV reports a fixed version 1.2.1. Check the advisory for supported release branches.
Source: OSV GHSA-9v8h-qqgm-4m35Fix
brotlicffi (PyPI): OSV reports a fixed version 1.2.1.0. Check the advisory for supported release branches.
Source: OSV GHSA-9v8h-qqgm-4m35Affected products and versions
| Product | Versions | Authority |
|---|---|---|
Brotligithub.com/google/brotli
|
≥ 1.0.3; < 1.0.10 (affected, semver) ≥ 1.1.0; < 1.1.1 (affected, semver) ≥ 1.2.0; < 1.2.1 (affected, semver) Other versions: unaffected |
CNA: Google |
| Desigo CC family V8 Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Desigo CC family V9 Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Heliox Dual Port 60kW Siemens |
≥ 0; < * (unaffected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Heliox Flex Pro Siemens |
≥ 0; < * (unaffected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SICHARGE FLEX Siemens |
≥ 0; < * (unaffected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SICHARGE UC Siemens |
≥ 0; < * (unaffected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Sifinity Go Siemens |
≥ 0; < * (unaffected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Sifinity Setup Siemens |
≥ 0; < * (unaffected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| VersiCharge AC Series Siemens |
≥ 0; < * (unaffected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| VersiCloud Siemens |
≥ 0; < * (unaffected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Cloud Connector Configurator Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Common Configurator (CC on IEM) Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Common Configurator on Device (CC on Edge) Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Data Flow Monitoring Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Databus Configurator Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Edge OPC UA Server Configurator Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Flow Creator Configurator Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Industrial Edge Hub Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| Industrial Edge Management Cloud Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| RUGGEDCOM APE1808 Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
brotlibrotli
PyPI |
1.0.4 (affected, PyPI) 1.0.6 (affected, PyPI) 1.0.7 (affected, PyPI) 1.0.8 (affected, PyPI) 1.0.9 (affected, PyPI) 1.1.0 (affected, PyPI) 1.2.0 (affected, PyPI) Ecosystem version events: introduced 1.0.3; fixed 1.2.1 Source events (ECOSYSTEM)
Other versions: unaffected |
OSV GHSA-9v8h-qqgm-4m35 |
brotlicffibrotlicffi
PyPI |
1.0.9.0 (affected, PyPI) 1.0.9.1 (affected, PyPI) 1.0.9.2 (affected, PyPI) 1.1.0.0 (affected, PyPI) 1.2.0.0 (affected, PyPI) 1.2.0.1 (affected, PyPI) 1.2.0.2 (affected, PyPI) Ecosystem version events: introduced 1.0.3; fixed 1.2.1.0 Source events (ECOSYSTEM)
Other versions: unaffected |
OSV GHSA-9v8h-qqgm-4m35 |
Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.
NVD applicability configurations (18)
These expressions retain AND/OR operators, negation, and required environmental products. A listed product is not sufficient to establish exposure when additional conditions apply.
[
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:google:brotli:*:*:*:*:*:-:*:*",
"versionEndExcluding": "1.0.10",
"versionStartIncluding": "1.0.3",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:google:brotli:*:*:*:*:*:-:*:*",
"versionEndExcluding": "1.1.1",
"versionStartIncluding": "1.1.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:google:brotli:*:*:*:*:*:-:*:*",
"versionEndExcluding": "1.2.1",
"versionStartIncluding": "1.2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*",
"versionEndExcluding": "22.23.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*",
"versionEndExcluding": "24.22.1",
"versionStartIncluding": "23.0.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*",
"versionEndExcluding": "26.12.1",
"versionStartIncluding": "25.0.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:python-hyper:brotlicffi:*:*:*:*:*:python:*:*",
"versionEndExcluding": "1.2.1.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:microsoft:.net:*:*:*:*:*:*:*:*",
"versionEndExcluding": "8.0.33",
"versionStartIncluding": "8.0.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:*:*:*:*:*:*:*:*",
"versionEndExcluding": "9.0.22",
"versionStartIncluding": "9.0.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:*:*:*:*:*:*:*:*",
"versionEndExcluding": "10.0.14",
"versionStartIncluding": "10.0.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:11.0.0:preview1:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:11.0.0:preview2:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:11.0.0:preview3:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:11.0.0:preview4:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:11.0.0:preview5:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:11.0.0:preview6:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:11.0.0:preview7:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:11.0.0:rc1:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:microsoft:.net:11.0.0:rc2:*:*:*:*:*:*",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:debian:debian_linux:12.0:*:*:*:*:*:*:*",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:istio:istio:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.29.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:istio:istio:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.30.6",
"versionStartIncluding": "1.30.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:istio:istio:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.31.2",
"versionStartIncluding": "1.31.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:anthropic:bun:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.4.4",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.37.8",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.38.6",
"versionStartIncluding": "1.38.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.39.3",
"versionStartIncluding": "1.39.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:tianocore:edk2:*:*:*:*:*:*:*:*",
"versionEndIncluding": "202608",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:google:woff2:-:*:*:*:*:*:*:*",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:duckdb:duckdb:*:*:*:*:*:*:*:*",
"versionEndIncluding": "2.0.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:clickhouse:clickhouse:*:*:*:*:*:*:*:*",
"versionEndIncluding": "26.10.2.103",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:apache:arrow:*:*:*:*:*:*:*:*",
"versionEndIncluding": "26.0.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:apache:arrow:27.0.0:dev:*:*:*:*:*:*",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:mcmilk:7-zip-zstd:*:*:*:*:*:*:*:*",
"versionEndIncluding": "26.02-1.5.7-r2",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:7-zip:p7zip:*:*:*:*:*:*:*:*",
"versionEndIncluding": "16.02",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:andybalholm:brotli:*:*:*:*:*:go:*:*",
"versionEndExcluding": "1.2.7",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:siemens:ruggedcom_ape1808_firmware:-:*:*:*:*:*:*:*",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
},
{
"cpeMatch": [
{
"criteria": "cpe:2.3:h:siemens:ruggedcom_ape1808:-:*:*:*:*:*:*:*",
"vulnerable": false
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "AND"
},
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:siemens:common_configurator:-:*:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:siemens:data_flow_monitoring:-:*:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:siemens:edge_opc_ua_server_configurator:-:*:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:siemens:flow_creator_configurator:-:*:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:siemens:industrial_edge_cloud_connector_configurator:-:*:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:siemens:industrial_edge_databus_configurator:-:*:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:siemens:industrial_edge_hub:-:*:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:siemens:industrial_edge_management_cloud:-:*:*:*:*:*:*:*",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
}
]CVSS assessments
| Version / score | Vector | Authority |
|---|---|---|
| 4.0 / 9.2 critical |
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 | CNA: Google |
| 4.0 / 9.2 critical |
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X | NVD: [email protected] |
| 3.1 / 9.8 critical |
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | NVD: [email protected] |
Exploit evidence
No exploit evidence in collected sources. This is not proof of no exploitation.
References
- https://nodejs.org/en/blog/vulnerability/october-2026-security-releases#nodejs-brotli-decoder-out-of-bounds-write-permits-remote-code-execution-cve-2026-111497---highCNA: Google · patch
- https://github.com/andybalholm/brotli/releases/tag/v1.2.7CNA: Google · release-notes, third-party-advisory
- https://ellio.tech/en/blog/node2shell-cve-2026-111497-rce-on-stock-nodejs-builds/ADP: CISA-ADP · third-party-advisory
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-111497ADP: CISA-ADP · government-resource
- https://github.com/advisories/GHSA-9v8h-qqgm-4m35ADP: CVE
- http://www.openwall.com/lists/oss-security/2026/10/23/25ADP: CVE
- https://lists.debian.org/debian-lts-announce/2026/10/msg00049.htmlADP: CVE
- http://www.openwall.com/lists/oss-security/2026/10/24/6ADP: CVE
- http://www.openwall.com/lists/oss-security/2026/10/26/12ADP: CVE
- http://www.openwall.com/lists/oss-security/2026/10/26/13ADP: CVE
- https://www.aikido.dev/blog/node2shell-nodejs-brotli-rce-cve-2026-111497ADP: CVE
- https://broccoli2shell.com/ADP: CVE
- https://github.com/dotnet/announcements/issues/494ADP: CVE
- https://github.com/google/brotli/releases/tag/v1.2.1ADP: CVE
- https://github.com/google/brotli/releases/tag/v1.1.1ADP: CVE
- https://github.com/google/brotli/releases/tag/v1.0.10ADP: CVE
- https://patchtheplanet.org/brotliADP: CVE
- http://www.openwall.com/lists/oss-security/2026/10/26/16ADP: CVE
- http://www.openwall.com/lists/oss-security/2026/11/03/2ADP: CVE
- https://cert-portal.siemens.com/productcert/html/ssa-898633.htmlADP: siemens-SADP
- https://cert-portal.siemens.com/productcert/html/ssa-443410.htmlADP: siemens-SADP
- https://cert-portal.siemens.com/productcert/html/ssa-045512.htmlADP: siemens-SADP
- https://github.com/andybalholm/brotli/releases/tag/v1.2.7[email protected] · Release Notes
- 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[email protected] · Third Party Advisory
- http://www.openwall.com/lists/oss-security/2026/10/23/25af854a3a-2127-422b-91ae-364da2661108 · Mailing List, Third Party Advisory
- http://www.openwall.com/lists/oss-security/2026/10/24/6af854a3a-2127-422b-91ae-364da2661108 · Mailing List, Third Party Advisory
- http://www.openwall.com/lists/oss-security/2026/10/26/12af854a3a-2127-422b-91ae-364da2661108 · Mailing List, Third Party Advisory
- http://www.openwall.com/lists/oss-security/2026/10/26/13af854a3a-2127-422b-91ae-364da2661108 · Mailing List, Third Party Advisory
- http://www.openwall.com/lists/oss-security/2026/10/26/16af854a3a-2127-422b-91ae-364da2661108 · Mailing List, Third Party Advisory
- http://www.openwall.com/lists/oss-security/2026/11/03/2af854a3a-2127-422b-91ae-364da2661108
- https://broccoli2shell.com/af854a3a-2127-422b-91ae-364da2661108 · Third Party Advisory
- https://github.com/advisories/GHSA-9v8h-qqgm-4m35af854a3a-2127-422b-91ae-364da2661108 · Third Party Advisory
- https://github.com/dotnet/announcements/issues/494af854a3a-2127-422b-91ae-364da2661108 · Issue Tracking, Mitigation, Third Party Advisory
- https://github.com/google/brotli/releases/tag/v1.0.10af854a3a-2127-422b-91ae-364da2661108 · Release Notes
- https://github.com/google/brotli/releases/tag/v1.1.1af854a3a-2127-422b-91ae-364da2661108 · Release Notes
- https://github.com/google/brotli/releases/tag/v1.2.1af854a3a-2127-422b-91ae-364da2661108 · Release Notes
- https://lists.debian.org/debian-lts-announce/2026/10/msg00049.htmlaf854a3a-2127-422b-91ae-364da2661108 · Mailing List, Third Party Advisory
- https://patchtheplanet.org/brotliaf854a3a-2127-422b-91ae-364da2661108 · Third Party Advisory
- https://www.aikido.dev/blog/node2shell-nodejs-brotli-rce-cve-2026-111497af854a3a-2127-422b-91ae-364da2661108 · Third Party Advisory
- https://cert-portal.siemens.com/productcert/html/ssa-045512.html0b142b55-0307-4c5a-b3c9-f314f3fb7c5e · Third Party Advisory
- https://cert-portal.siemens.com/productcert/html/ssa-443410.html0b142b55-0307-4c5a-b3c9-f314f3fb7c5e · Third Party Advisory
- https://cert-portal.siemens.com/productcert/html/ssa-898633.html0b142b55-0307-4c5a-b3c9-f314f3fb7c5e · Third Party Advisory
- https://ellio.tech/en/blog/node2shell-cve-2026-111497-rce-on-stock-nodejs-builds/134c704f-9b21-4f2e-91b3-4a467353bcc0 · Third Party Advisory
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-111497134c704f-9b21-4f2e-91b3-4a467353bcc0 · US Government Resource
- https://github.com/advisories/GHSA-9v8h-qqgm-4m35OSV / GitHub Security Advisories · advisory
- https://osv.dev/vulnerability/GHSA-9v8h-qqgm-4m35OSV / GitHub Security Advisories · osv
For agents and automation
Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.
Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.
Endpoints and access details
https://api.y2.dev/api/v2/cyber/cveshttps://api.y2.dev/api/v2/cyber/cves/{cveId}
A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.
For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.