GHSA-7p9w-p5qm-5gc5 json
Large-window Brotli bodies bypass decompression memory limits
published 2026-11-06 2 d ago modified 2026-11-06 2 d ago also RUSTSEC-2026-0455
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
With the `compress-brotli` feature enabled, the decoder accepts the non-standard large-window Brotli format. A crafted stream can cause its internal buffer to grow to about 1 GiB before the decoded output reaches the configured size limit. An 850-byte request can cause this allocation, and concurrent requests can exhaust process or host memory.
Actix Web enables Brotli support by default. Applications that read request bodies through `Bytes`, `String`, `Json`, or `Form` can be affected even when extractor size limits are configured. The allocation occurs before the handler runs, so authentication performed in the handler does not prevent it.
Upgrade to actix-http 3.20.3 or later. As a workaround, reject requests with `Content-Encoding: br` at a reverse proxy or in middleware before body extraction, or disable the `compress-brotli` feature throughout the dependency graph.
Patch / fix
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | actix-http | >=0.0.0-0, <3.20.3 |
3.20.3 |
References
Sources
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.