VULNERABILITY INTELLIGENCE
CVE-2026-47066
Description
Loop with Unreachable Exit Condition ('Infinite Loop') vulnerability in benoitc hackney allows Excessive Allocation. The Alt-Svc response header parser in src/hackney_altsvc.erl does not guarantee forward progress. When parse_token/2 receives a non-token, non-whitespace, non-comma byte (e.g. !, @, =, ;), it returns the input unchanged. skip_comma/1 also returns the buffer unchanged when the first byte is not a comma. parse_entries/2 then recurses with identical data, creating a tight infinite tail-recursive loop that pins a scheduler at 100% CPU. The calling process never returns. The entry point parse_and_cache/3 is called synchronously in the connection process on every HTTP response. A single-byte Alt-Svc: ! response header is sufficient to trigger the hang; the header is fully controlled by any HTTP origin the client connects to. This issue affects hackney: from 2.0.0-beta.1 before 4.0.1.
Weakness classification
- 6b3ad84c-e1a6-4bf7-a703-f496b71e49db: CWE-835
Primary references
- 6b3ad84c-e1a6-4bf7-a703-f496b71e49db — Patch, Third Party Advisory
- 6b3ad84c-e1a6-4bf7-a703-f496b71e49db — Patch
- 6b3ad84c-e1a6-4bf7-a703-f496b71e49db — Exploit, Patch, Vendor Advisory
- 6b3ad84c-e1a6-4bf7-a703-f496b71e49db — Patch, Third Party Advisory
- 134c704f-9b21-4f2e-91b3-4a467353bcc0 — Exploit, Patch, Vendor Advisory