Atom table exhaustion via unrecognized URL schemes in hackney
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| benoitc | hackney | unaffected |
|
||||||
| benoitc | hackney | unaffected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Benoitc | Hackney |
|
||||||||
| Benoitc | Hackney |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-9653-rcfr-5c62 | Hackney vulnerable to atom-table exhaustion via unrecognized URL schemes |
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.753% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | Atom table exhaustion via unrecognized URL schemes in hackney | |
| First Time appeared |
Benoitc
Benoitc hackney |
|
| Weaknesses | CWE-770 | |
| CPEs | cpe:2.3:a:benoitc:hackney:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Benoitc
Benoitc hackney |
|
| References |
| |
| Metrics |
cvssV4_0
|