CVE-2026-47077 PUBLISHED

Unbounded body accumulation in HTTP/3 response loop in hackney

Assigner: EEF
Reserved: 18.05.2026 Published: 25.05.2026 Updated: 25.05.2026

Allocation of Resources Without Limits or Throttling vulnerability in benoitc hackney allows Flooding. hackney_h3:await_response_loop/6 accumulates the HTTP/3 response body in memory without any size cap. The after Timeout clause is a per-message inactivity timer that resets on every received chunk, housekeeping message, or settings frame — it is not a wall-clock deadline. A malicious HTTP/3 server that emits one small chunk every Timeout - 1 ms with Fin = false and never sends a final frame keeps the loop alive indefinitely while the accumulation buffer grows linearly without bound, eventually exhausting the BEAM process heap and causing an out-of-memory condition.

This issue affects hackney: from 2.0.0 before 4.0.1.

Metrics

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

Product Status

Vendor benoitc
Product hackney
Versions Default: unaffected
  • affected from 2.0.0 to 4.0.1 (excl.)
Vendor benoitc
Product hackney
Versions Default: unaffected
  • affected from 0334af206d5099fdf510ed9eda18e34396f065ad to 3d25f9fea26c90609de9d64366fedfe5065413bc (excl.)

Affected Configurations

The application must use the HTTP/3 transport by calling hackney_h3 directly or by passing {transport, h3} to hackney:request/5. The default hackney transport (TCP/TLS) is not affected.

Credits

  • Peter Ullrich finder
  • Benoit Chesneau remediation developer
  • Jonatan Männchen analyst

References

Problem Types

  • CWE-400 Uncontrolled Resource Consumption CWE

Impacts

  • CAPEC-125 Flooding