Skip to content
Fencer Vulns
no cvss —

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

  • crates.io actix-http 3.20.3

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.