Am I affected?
Description
Server-Side Request Forgery (SSRF) vulnerability in Slab safeurl allows an attacker who controls a validated URL to reach internal network destinations the library is configured to block.
Only IPv4 addresses are matched against the reserved ranges and the blocklist. Every other address is treated as matching nothing, so a destination that is rejected in its IPv4 form is accepted when written as an IPv6 address, IPv6 entries in the blocklist never match, and a host that resolves to no IPv4 address is accepted regardless of where it points. Deployments that rely on the allowlist instead are unaffected, because there an unmatched address is rejected.
This issue affects safeurl: from 0.1.0 onward.
Weaknesses & attack patterns
Weakness
CWE-918
·
Server-Side Request Forgery (SSRF)
in catalog →
MITRE ↗
CWE-636
·
Not Failing Securely ('Failing Open')
in catalog →
MITRE ↗
Attack patterns
CAPEC-664
·
Server Side Request Forgery
MITRE ↗
Affected — Hex / safeurl Hex.pm ↗ Repository ↗
modules · source files · routines
Affected — GitHub / slab/safeurl-elixir Repository ↗
modules · source files · routines
References
Credits
CVSS breakdown
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N