ZeroHour

CVE-2026-73232

moderate

Decompression-bomb OOM denial of service in ffuf web fuzzer

CVSS 3.1
7.5 high
EPSS
<1%p37
Published
()
Modified
AI analysis

ffuf, a widely used Go-based web fuzzer, can be crashed by any server it is pointed at: its response-body size guard trusts the server-supplied Content-Length header, which reflects the compressed size, is absent for chunked responses, and is stripped when Go's HTTP transport transparently decompresses gzip, after which the fully decompressed body is read into memory with io.ReadAll and no upper bound. An attacker controlling the target host can return a tiny compressed response that expands to gigabytes, triggering unbounded allocation and an OS OOM kill of the ffuf process on a completely default invocation such as ffuf -u http://target/FUZZ -w wordlist.txt. The attacker gains denial of service against the scanning operator: in-memory scan results are lost on crash, and because the crash recurs on every attempt, a hostile server can effectively make itself immune to ffuf-based content discovery; there is no confidentiality or integrity impact. Anyone running ffuf before 2.2.0 against untrusted or attacker-influenced targets is affected; the flaw impacts the operator's tooling, not the scanned applications. No exploitation is currently known: there is no public proof of concept, the issue is not in CISA KEV, and EPSS estimates a 0.4% probability of exploitation within 30 days.

What to do: Upgrade to ffuf 2.2.0 or later, which bounds the response-body read to the existing 5 MB download cap regardless of content encoding, chunked framing, or transport-level decompression, and drops oversized responses instead of reading them into memory. Until upgraded, avoid pointing ffuf at untrusted or attacker-controlled targets, or run it under a memory cap (ulimit or container limit) to contain OOM kills, keeping in mind in-memory results are lost if the process is killed. No configuration flag fully mitigates the flaw in affected versions.

Affected
ffuf project ffufall versions prior to 2.2.0
Estimated exposure
moderate≈ tens of thousands of practitioner installations (ffuf ships by default in Kali Linux and is standard in pentest and bug-bounty toolkits) — ffuf is a client-side CLI fuzzer bundled by default in Kali Linux and ubiquitous in offensive-security workflows, implying an installed base on the order of 10k-100k operators; there is no server-side or internet-exposed footprint, so…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

ffuf is a fast web fuzzer written in Go. Prior to 2.2.0, ffuf allows a malicious target server to cause an out-of-memory denial of service because the response size guard in pkg/runner/simple.go checks only the compressed Content-Length while io.ReadAll reads gzip, brotli, deflate, transparently decompressed, or chunked response bodies without a decompressed-size bound. This issue is fixed in version 2.2.0.

Ecosystems
go
Weakness
CWE-409
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
GHSA
GHSA-jcvh-xf52-2cwm (high)

In the news

No ingested article mentions this CVE yet.