Unbounded response body buffering and decompression in hackney
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Allocation of Resources Without Limits or Throttling vulnerability in hackney_conn in benoitc hackney allows a malicious HTTP server to exhaust client memory via an oversized or highly compressed response body. hackney:request/5 and hackney:body/1 return the whole response body, and nothing bounds how much the connection process buffers. Any server the client requests can trigger it.
hackney_conn:read_full_body/2 and the HTTP/2 and HTTP/3 accumulators append every chunk until the body ends. With {auto_decompress, true} the buffered body is then inflated in one step with zlib:gunzip/1 or zlib:inflate/2, which return the whole output at once.
This issue affects hackney: from 2.0.0-beta.1 before 4.9.0.
Text from CVE List
Affected versions 2
- hackneyaffected: 2.0.0-beta.1 before 4.9.0CVE List
- hackneyaffected: dc41b79339ca0c41e16d3f2dd17172bc2de855d6 before 493e8bf83a391548e5101792276ab3fc428fa76cCVE List
References 6
- github.com/benoitc/hackney/releases/tag/4.9.0Fixvia CVE List
- github.com/benoitc/hackney/commit/dc41b79339ca0c41e16d3f2dd17172bc2de855d6Fixvia CVE List
- github.com/benoitc/hackney/commit/493e8bf83a391548e5101792276ab3fc428fa76cFixvia CVE List
- cna.erlef.org/cves/CVE-2026-97200.htmlReferencevia CVE List
- osv.dev/vulnerability/EEF-CVE-2026-97200Referencevia CVE List
- github.com/benoitc/hackney/pull/980Referencevia CVE List