CVE-2026-111497: Out-of-bounds write in the Brotli decoder ("Node2Shell") also affects the PyPI Brotli package
Affects weasyprintSource GCVE Database
Not known to be exploited · 36% EPSS · CVSS 9.2 Critical : upgrade to 70.0_1 as a priority.
Data as of 26 Oct 2026, 17:16 UTC
- EPSS
- 36.0% chance of exploitation in 30 days – higher than 98% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 70.0_1
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 22 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade weasyprint to 70.0_1.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewweasyprintpkg:brew/weasyprintOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
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.
References
- nvd.nist.gov/vuln/detail/CVE-2026-111497 (opens in a new tab)
- github.com/google/brotli/commit/0ed4268a4401abcb4472096340477cf4af7d1a2b (opens in a new tab)
- github.com/google/brotli/commit/50a9b70a4d5e1443fc40927952276b68fffa83a0 (opens in a new tab)
- github.com/google/brotli/commit/b418fa81c48262a86a95332b0bc6d62c30aa78b6 (opens in a new tab)
- github.com/google/brotli/commit/da9806362874b9bd4b552a3af360b5d6347beb12 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2026-111497 (opens in a new tab)
- pypi.org/project/brotlicffi (opens in a new tab)
- pypi.org/project/Brotli (opens in a new tab)
- opensourcemalware.com/blog/node2shell-affects-python (opens in a new tab)
- nodejs.org/en/blog/vulnerability/october-2026-security-releases (opens in a new tab)
- nodejs.org/en/blog/vulnerability/october-2026-security-releases (opens in a new tab)
- github.com/pypa/advisory-database/tree/main/vulns/brotlicffi/PYSEC-2026-4323.yaml (opens in a new tab)
- github.com/pypa/advisory-database/tree/main/vulns/brotli/PYSEC-2026-4322.yaml (opens in a new tab)
- github.com/google/brotli/releases/tag/v1.2.1 (opens in a new tab)
- github.com/google/brotli/releases/tag/v1.1.1 (opens in a new tab)
- github.com/google/brotli/releases/tag/v1.0.10 (opens in a new tab)
- github.com/google/brotli (opens in a new tab)