Read the docs
TI-2026-36666 Aliases CVE-2026-49755GHSA-655f-mp8p-96gv

Decompression bomb DoS in Req via auto-decoded archive and compressed response bodies

Priority HIGH 69CWE-409Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00596 48th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed req (wojtekmach): 0.6.1req (Hex): 0.6.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
wojtekmachreq0.1.0 to before 0.6.10.6.1Patch availableCNA
—req (Hex)0.1.0 to before 0.6.10.6.1Patch availableGHSA-655f-mp8p-96gv
  • req Vendorwojtekmach Affected 0.1.0 to before 0.6.1 Fixed in 0.6.1 Patch available CNA
  • req (Hex) Vendor— Affected 0.1.0 to before 0.6.1 Fixed in 0.6.1 Patch available GHSA-655f-mp8p-96gv

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:wojtekmach:req:*:*:*:*:*:*:*:*0.1.0 to before 0.6.1Vulnerablewojtekmach
  • cpe:2.3:a:wojtekmach:req:*:*:*:*:*:*:*:* Versions 0.1.0 to before 0.6.1 Vulnerable ·wojtekmach

Remediation

  • Fix · CNA req (wojtekmach) Fixed in 0.6.1
  • Fix · GHSA-655f-mp8p-96gv req (Hex) Fixed in 0.6.1 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-49755
  2. 2026-10-03 Alias added: GHSA-655f-mp8p-96gv
  3. 2026-10-25 EPSS moved to the below the 50th percentile

References

  • TI-2026-36667 Multipart form-data header injection in Req via unescaped name/filename/content_type CVSS 4.0LOW 2.1

Sources