Am I affected?

type your hackney version to check

Description

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.

Weaknesses & attack patterns

Weakness

CWE-770 · Allocation of Resources Without Limits or Throttling in catalog → MITRE ↗

Attack patterns

CAPEC-125 · Flooding MITRE ↗

Affected — Hex / hackney Hex.pm ↗ Repository ↗

2.0.0 < 4.0.1 affected
every other version: unaffected
default status unaffected
cpe cpe:2.3:a:benoitc:hackney:*:*:*:*:*:*:*:*
modules · source files · routines
modules hackney_url
source files src/hackney_url.erl
routines hackney_url:parse_url/1

Affected — GitHub / benoitc/hackney Repository ↗

d971369 < 31f6f0e affected
every other version: unaffected
default status unaffected
cpe cpe:2.3:a:benoitc:hackney:*:*:*:*:*:*:*:*
modules · source files · routines
modules hackney_url
source files src/hackney_url.erl
routines hackney_url:parse_url/1

References

Credits

Peter Ullrich Finder
Benoit Chesneau Remediation developer
Jonatan Männchen / EEF Analyst

CVSS breakdown

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
« All CVEs