CVE-2026-47067: benoitc hackney atom table exhaustion in URL parser

CVE-2026-47067 · Severity: high · CVSS 8.7 · Published 2026-05-25

Hackney, a popular Erlang HTTP client library, is vulnerable to a denial-of-service attack that can crash the entire application environment. By providing URLs with unique or unrecognized prefixes (like "customscheme://"), an attacker can exhaust the system's internal memory table for "atoms," which are never cleaned up. This can lead to a complete service outage, requiring a full manual restart of the affected server.

Technologies: Benoit Chesneau Hackney. Vendors: Benoit Chesneau.

Quick answers

Is CVE-2026-47067 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-47067 being exploited in the wild.
How severe is CVE-2026-47067?
High severity, with a CVSS score of 8.7, published 25 May 2026.
Which products and versions are affected?
Benoit Chesneau Hackney >= 2.0.0, < 4.0.1.
Is there a fix for CVE-2026-47067?
A patch was published on 2026-06-26: Version 4.0.1 released Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-47067 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-47067?
Check whether you run Benoit Chesneau Hackney at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

An atom table exhaustion vulnerability (CWE-770) exists in hackney's URL parser (src/hackney_url.erl). The function hackney_url:parse_url/1 extracts the scheme from a URL and converts it into a BEAM atom using binary_to_atom/2. Since BEAM atoms are not garbage-collected and have a default limit of 1,048,576, an attacker can provide a large number of unique schemes via direct request targets, webhooks, or 'Location' headers in redirect chains. Once the limit is reached, the VM terminates with a 'system_limit' error. This is fixed in version 4.0.1.

Affected products

  • benoitc hackney >= 2.0.0, < 4.0.1

Identifiers

  • CVE-2026-47067
  • GHSA-9653-rcfr-5c62

Timeline

  • 2026-05-25: disclosed
  • 2026-06-26: advisory: GitHub Advisory published
  • 2026-06-26: patched: Version 4.0.1 released

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.