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 host decoding between hackney and OTP libraries. hackney_url:normalize/2 decodes percent-encoded characters in the host 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 an allowlist validator sees a percent-encoded host string (e.g., %31%32%37%2E%30%2E%30%2E%31) and incorrectly allows it, while hackney subsequently decodes it to a sensitive IP address like 127.0.0.1 and makes a TCP connection. This behavior enables SSRF attacks targeting internal network resources, including localhost, RFC1918 addresses, and cloud instance metadata services (169.254.169.254). Every hackney request using a binary or list URL is affected due to the unconditional call to hackney_url:normalize/2. The vulnerability is present in hackney versions from 0.13.0 up to but not including 4.0.1.
Potential Impact
An attacker can exploit this vulnerability to perform SSRF attacks by bypassing host allowlist checks through percent-encoding. This can lead to unauthorized access to internal network resources such as localhost services, private RFC1918 networks, and cloud instance metadata endpoints. The impact is limited to the ability to make unauthorized TCP connections to internal addresses from applications using vulnerable hackney versions. There is no indication of privilege escalation or direct code execution from the provided data.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official patch or remediation level is indicated in the provided data. Until a fix is available, users should consider implementing additional validation on URLs before passing them to hackney, specifically normalizing and validating host components consistently to prevent percent-encoding bypass. Monitoring vendor channels for updates and upgrading to hackney versions 4.0.1 or later once released is recommended.
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.
CVSS v4.0
Score 6.9medium
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in benoitc hackney stems from inconsistent URL host decoding between hackney and OTP libraries. hackney_url:normalize/2 decodes percent-encoded characters in the host 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 an allowlist validator sees a percent-encoded host string (e.g., %31%32%37%2E%30%2E%30%2E%31) and incorrectly allows it, while hackney subsequently decodes it to a sensitive IP address like 127.0.0.1 and makes a TCP connection. This behavior enables SSRF attacks targeting internal network resources, including localhost, RFC1918 addresses, and cloud instance metadata services (169.254.169.254). Every hackney request using a binary or list URL is affected due to the unconditional call to hackney_url:normalize/2. The vulnerability is present in hackney versions from 0.13.0 up to but not including 4.0.1.
Potential Impact
An attacker can exploit this vulnerability to perform SSRF attacks by bypassing host allowlist checks through percent-encoding. This can lead to unauthorized access to internal network resources such as localhost services, private RFC1918 networks, and cloud instance metadata endpoints. The impact is limited to the ability to make unauthorized TCP connections to internal addresses from applications using vulnerable hackney versions. There is no indication of privilege escalation or direct code execution from the provided data.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official patch or remediation level is indicated in the provided data. Until a fix is available, users should consider implementing additional validation on URLs before passing them to hackney, specifically normalizing and validating host components consistently to prevent percent-encoding bypass. Monitoring vendor channels for updates and upgrading to hackney versions 4.0.1 or later once released is recommended.
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: 05/25/2026, 18:58:27 UTC
Last enriched: 06/01/2026, 20:36:18 UTC
Last updated: 07/31/2026, 19:22:59 UTC
Views: 85
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.