CVE-2026-47067 PUBLISHED

Atom table exhaustion via unrecognized URL schemes 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. The URL parser in src/hackney_url.erl converts every unrecognized URL scheme to a permanent BEAM atom via binary_to_atom/2. BEAM atoms are never garbage-collected and the atom table defaults to a hard limit of 1,048,576 entries. An attacker who can supply URLs with attacker-chosen scheme prefixes — directly as request targets, as configured webhook URLs, or via Location headers followed during redirects — can exhaust the atom table and crash the entire BEAM VM with system_limit.

This issue affects hackney: from 2.0.0 before 4.0.1.

Metrics

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

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 d9713695c0d99855d12c73fd8a0b4be0543950c4 to 31f6f0e27e096ad88743dfded4f030a3ee74972e (excl.)

Credits

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

References

Problem Types

  • CWE-770 Allocation of Resources Without Limits or Throttling CWE

Impacts

  • CAPEC-125 Flooding