CVE-2026-47071 json
SOCKS5 TLS upgrade ignores caller timeout in hackney
published 5mo ago modified 3mo ago also EEF-CVE-2026-47071 , EUVD-2026-31685 , GHSA-gp9c-pm5m-5cxr
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 55%
- public exploits
- 0
- none known
Summary
Uncontrolled Resource Consumption vulnerability in benoitc hackney allows Flooding. The SOCKS5 transport in src/hackney_socks5.erl correctly applies the caller-supplied timeout to the SOCKS5 negotiation phase, but then upgrades the connection to TLS using the two-argument form ssl:connect/2, which defaults to an infinite timeout. The Timeout value is in scope at the call site but is not forwarded. A hostile SOCKS5 proxy that completes the SOCKS5 handshake normally and then goes silent (or sends a partial TLS ServerHello and stalls) will cause the connecting process to block indefinitely, regardless of the connect_timeout or recv_timeout options supplied by the caller.
This issue affects hackney: from 0.10.0 before 4.0.1.
Patch / fix
- hex hackney 4.0.1
- benoitc hackney 4.0.1
Is CVE-2026-47071 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 5mo ago
Exploit prediction
0.75% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- github.com https://github.com/benoitc/hackney/security/advisories/GHSA-gp9c-pm5m-5cxr referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.2 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.2 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | hackney | >=0.10.0, <4.0.1 |
4.0.1 |
Affected products
- benoitc hackney
Classification
- Weakness
-
- CWE-400 Uncontrolled Resource Consumption
References
-
github.com
/benoitc/hackney/commit/5ccdab725c561a6f03d05a51f2d0664f98236dae
patch, web
-
github.com
/benoitc/hackney/security/advisories/GHSA-gp9c-pm5m-5cxr
vendor-advisory, related, exploit, web, patch, advisory
-
cna.erlef.org
/cves/CVE-2026-47071.html
related, web, patch, third-party-advisory
-
osv.dev
/vulnerability/EEF-CVE-2026-47071
related, web, patch, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-47071
advisory
-
github.com
/benoitc/hackney
package
-
hex.pm
/packages/hackney
package
Sources
- CVE List CVE-2026-47071
- GitHub Advisory GHSA-gp9c-pm5m-5cxr
- NVD CVE-2026-47071
- OSV EEF-CVE-2026-47071
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.