Home

Description

Improper Handling of Highly Compressed Data (Data Amplification) vulnerability in wojtekmach Req allows attacker-controlled HTTP servers to exhaust memory in a Req client via decompression-bomb response bodies. Req's default response pipeline includes Req.Steps.decode_body/1 and Req.Steps.decompress_body/1 in lib/req/steps.ex. decode_body/1 dispatches on the server-supplied content-type (or URL extension) and calls :zip.extract(body, [:memory]) for application/zip, :erl_tar.extract({:binary, body}, [:memory]) for application/x-tar, and :erl_tar.extract({:binary, body}, [:memory, :compressed]) for application/gzip / .tgz. Each returns the full decompressed archive contents as a [{name, bytes}] list in memory, with no per-entry or total size cap. decompress_body/1 walks the content-encoding header and chains :zlib/:brotli/:ezstd decoders, so a response advertising content-encoding: gzip, gzip, gzip inflates through multiple layers without bound. Both steps are enabled by default, no caller opt-in is required, and the attacker controls the content-type and content-encoding headers on their own server (or on any host reached via Req's automatic redirect following). A sub-megabyte response can expand to multiple gigabytes on the victim, crashing the BEAM process. This issue affects req: from 0.1.0 before 0.6.1.

PUBLISHED Reserved 2026-06-01 | Published 2026-06-08 | Updated 2026-06-08 | Assigner EEF




HIGH: 8.2CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Problem types

CWE-409 Improper Handling of Highly Compressed Data (Data Amplification)

Product status

Default status
unaffected

0.1.0 (semver) before 0.6.1
affected

Default status
unaffected

e37753741cbdc725e6aba3d977b380163bfc0ecb (git) before 84977e5b1a83f26e749d55ad06e3625464af4e8d
affected

Credits

Peter Ullrich finder

Wojtek Mach remediation developer

Jonatan Männchen / EEF analyst

References

github.com/...ch/req/security/advisories/GHSA-655f-mp8p-96gv exploit

github.com/...ch/req/security/advisories/GHSA-655f-mp8p-96gv vendor-advisory related

cna.erlef.org/cves/CVE-2026-49755.html related

osv.dev/vulnerability/EEF-CVE-2026-49755 related

github.com/...ommit/84977e5b1a83f26e749d55ad06e3625464af4e8d patch

cve.org (CVE-2026-49755)

nvd.nist.gov (CVE-2026-49755)

Download JSON