Brotli CVE-2026-111497 Affects Python and HTTP Libraries

· Original article ↗

Summary

CVE-2026-111497 is an out-of-bounds write in vulnerable Brotli decoders, reachable through attacker-controlled compressed data and potentially enabling memory disclosure, crashes or code execution. Fixes are available for Brotli, Python packages and affected runtimes.

Key points

  • The article identifies an out-of-bounds write in Brotli decoder versions through 1.2.0; a remote, unauthenticated attacker may trigger memory disclosure, a crash or potentially arbitrary code execution with crafted compressed data.
  • The flaw can be reached through inbound Brotli-compressed request bodies or responses from servers an application contacts. Python HTTP clients may load vulnerable Brotli packages automatically when installed, including as transitive dependencies.
  • The article lists Brotli 1.2.1 and brotlicffi 1.2.1.0 as fixed Python package versions, and provides patched releases for Node.js, Bun, Envoy, Istio and other components.
  • The root cause involves decoder handling of block-switch errors. The upstream fix makes decoding stop on a format error rather than continuing with invalid block state.
  • Where upgrades are not yet possible, the article recommends removing optional Python Brotli packages or rejecting Brotli-encoded traffic before decoding; changing Accept-Encoding alone does not prevent a server from sending Brotli data.
  • As of October 23, the article says advisory databases did not yet map the CVE to the affected PyPI packages, so pip-audit, Dependabot and Safety might not flag them.
  • The article cites a report of no in-the-wild exploitation for Node.js as of October 22; it does not establish that the vulnerability is unexploited across all affected components.

Article Details

Vulnerability Types
  • Out-of-bounds write
  • Unchecked return value
Severity
Critical; CVSS v4.0 score 9.2
Affected Versions
  • Brotli 1.0.3–1.2.0
  • brotlicffi 1.2.0.x
Exploitation Status
not_reported
Exploit Availability
unknown
Patch Status
available
Workarounds
  • Where Brotli support is optional, uninstall Brotli and brotlicffi and rebuild or restart affected workloads.
  • Reject incoming requests with Content-Encoding: br before a vulnerable decoder processes the body.
  • For outbound requests, disable Brotli response decoding or reject responses with Content-Encoding: br before decoding begins.

MITRE ATT&CK

CVE

Vendors

Products

Tools

Related Articles