{"id":15977,"date":"2026-09-04T19:04:38","date_gmt":"2026-09-04T11:04:38","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-49755"},"modified":"2026-09-04T19:04:38","modified_gmt":"2026-09-04T11:04:38","slug":"cve-2026-49755","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-49755","title":{"rendered":"CVE-2026-49755 [HIGH] &#8211; Improper Handling of Highly Compressed Data (Data Amplification) vulnerability in wojtekma"},"content":{"rendered":"<p>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.<\/p>\n<p>Req&#8217;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.<\/p>\n<p>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&#8217;s automatic redirect following). A sub-megabyte response can expand to multiple gigabytes on the victim, crashing the BEAM process.<\/p>\n<p>This issue affects req: from 0.1.0 before 0.6.1.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 respon<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-15977","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/15977","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15977"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}