CVE-2026-47076 in hackney
Zusammenfassung
von VulDB • 25.05.2026
Eine Schwachstelle vom Typ „Interpretation Conflict“ in benoitc hackney ermöglicht Server Side Request Forgery (SSRF). Die Funktion `hackney_url:normalize/2` dekodiert die Host-Komponente über URL-Decoding, nachdem die URL in einen `#hackney_url{}`-Datensatz geparst wurde. Da `uri_string:parse/1` und `inet:parse_address/1` aus OTP keine Prozent-Escapes im Host dekodieren, wird eine URL wie `http://%31%32%37%2E%30%2E%30%2E%31/` vom Allowlist-Validator des Aufrufers mit dem Host `%31%32%37%2E%30%2E%30%2E%31` (keine IP-Adresse) gesehen, was den Allowlist-Check besteht. Der Normalisierer von hackney dekodiert den Host anschließend zu `127.0.0.1` und stellt eine TCP-Verbindung zum Loopback-Interface her. Da `hackney:request/5` immer `hackney_url:normalize/2` ohne Möglichkeit zur Deaktivierung aufruft, sind alle Anfragen betroffen, die eine URL als Binärdaten oder Liste entgegennehmen. Dieselbe Technik ermöglicht den Zugriff auf Cloud-Instanz-Metadaten-Dienste (169.254.169.254), RFC1918-Netzwerke und jede Admin-Schnittstelle, die auf localhost lauscht.
Dieses Problem betrifft hackney: ab Version 0.13.0 bis vor 4.0.1.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.