CVE-2026-47076: CWE-436 Interpretation Conflict in benoitc hackney
Interpretation Conflict vulnerability in benoitc hackney allows Server Side Request Forgery. hackney_url:normalize/2 URL-decodes the host component after the URL has been parsed into a #hackney_url{} record. OTP's uri_string:parse/1 and inet:parse_address/1 do not decode percent-escapes in the host, so a URL such as http://%31%32%37%2E%30%2E%30%2E%31/ is seen by a caller's allowlist validator with host %31%32%37%2E%30%2E%30%2E%31 (not an IP address), which passes the allowlist check. hackney's normalizer then decodes the host to 127.0.0.1 and opens a TCP connection to loopback. Because hackney:request/5 always calls hackney_url:normalize/2 with no opt-out, every request that takes a binary or list URL is affected. The same technique reaches cloud instance metadata services (169.254.169.254), RFC1918 networks, and any admin interface listening on localhost. This issue affects hackney: from 0.13.0 before 4.0.1.
AI Analysis
Technical Summary
The vulnerability in benoitc hackney stems from inconsistent URL parsing behavior: hackney_url:normalize/2 decodes percent-encoded characters in the host portion of a URL after parsing, whereas OTP's uri_string:parse/1 and inet:parse_address/1 do not decode these percent-escapes. This leads to a scenario where allowlist validators see the encoded host (e.g., %31%32%37%2E%30%2E%30%2E%31) and consider it safe, but hackney subsequently decodes it to an IP address (127.0.0.1) and makes a TCP connection to that address. Because hackney:request/5 always normalizes URLs this way without an opt-out, all requests using binary or list URLs are affected. This enables SSRF attacks targeting internal networks, including localhost and cloud instance metadata services. The vulnerability affects hackney versions from 0.13.0 up to but not including 4.0.1. No patch or official remediation level is currently documented.
Potential Impact
An attacker can exploit this vulnerability to bypass allowlist checks by encoding IP addresses in URLs, causing hackney to connect to internal or restricted network addresses such as localhost (127.0.0.1), cloud instance metadata services (169.254.169.254), or RFC1918 private networks. This SSRF can lead to unauthorized access to internal resources or sensitive information. The CVSS 4.0 score is 6.9 (medium severity), reflecting the local attack vector with low complexity and no privileges required, but with high impact on confidentiality.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, users should consider implementing additional validation on URLs before passing them to hackney, avoiding untrusted input, or restricting network access from applications using affected hackney versions. Monitor vendor channels for updates and patches addressing this issue.
CVE-2026-47076: CWE-436 Interpretation Conflict in benoitc hackney
Description
Interpretation Conflict vulnerability in benoitc hackney allows Server Side Request Forgery. hackney_url:normalize/2 URL-decodes the host component after the URL has been parsed into a #hackney_url{} record. OTP's uri_string:parse/1 and inet:parse_address/1 do not decode percent-escapes in the host, so a URL such as http://%31%32%37%2E%30%2E%30%2E%31/ is seen by a caller's allowlist validator with host %31%32%37%2E%30%2E%30%2E%31 (not an IP address), which passes the allowlist check. hackney's normalizer then decodes the host to 127.0.0.1 and opens a TCP connection to loopback. Because hackney:request/5 always calls hackney_url:normalize/2 with no opt-out, every request that takes a binary or list URL is affected. The same technique reaches cloud instance metadata services (169.254.169.254), RFC1918 networks, and any admin interface listening on localhost. This issue affects hackney: from 0.13.0 before 4.0.1.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in benoitc hackney stems from inconsistent URL parsing behavior: hackney_url:normalize/2 decodes percent-encoded characters in the host portion of a URL after parsing, whereas OTP's uri_string:parse/1 and inet:parse_address/1 do not decode these percent-escapes. This leads to a scenario where allowlist validators see the encoded host (e.g., %31%32%37%2E%30%2E%30%2E%31) and consider it safe, but hackney subsequently decodes it to an IP address (127.0.0.1) and makes a TCP connection to that address. Because hackney:request/5 always normalizes URLs this way without an opt-out, all requests using binary or list URLs are affected. This enables SSRF attacks targeting internal networks, including localhost and cloud instance metadata services. The vulnerability affects hackney versions from 0.13.0 up to but not including 4.0.1. No patch or official remediation level is currently documented.
Potential Impact
An attacker can exploit this vulnerability to bypass allowlist checks by encoding IP addresses in URLs, causing hackney to connect to internal or restricted network addresses such as localhost (127.0.0.1), cloud instance metadata services (169.254.169.254), or RFC1918 private networks. This SSRF can lead to unauthorized access to internal resources or sensitive information. The CVSS 4.0 score is 6.9 (medium severity), reflecting the local attack vector with low complexity and no privileges required, but with high impact on confidentiality.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, users should consider implementing additional validation on URLs before passing them to hackney, avoiding untrusted input, or restricting network access from applications using affected hackney versions. Monitor vendor channels for updates and patches addressing this issue.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-05-18T17:28:10.319Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a149bd3a5ae1af1aad77339
Added to database: 5/25/2026, 6:58:27 PM
Last enriched: 5/25/2026, 6:59:31 PM
Last updated: 5/26/2026, 7:54:33 AM
Views: 6
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.