{"id":"GHSA-373w-rj84-pv6x","aliases":[],"status":"published","title":"SafeURL-Python's hostname blocklist does not block FQDNs","description":"### Description\nIf a hostname was blacklisted, it was possible to bypass the blacklist by requesting the FQDN of the host (e.g. adding `.` to the end).\n\n### Impact\nThe main purpose of this library is to block requests to internal/private IPs and these cannot be bypassed using this finding. But if a library user had specifically set certain hostnames as blocked, then an attacker would be able to circumvent that block to cause SSRFs to request those hostnames.\n\n### Patches\nFixed by https://github.com/IncludeSecurity/safeurl-python/pull/6\n\n### Credit\nhttps://github.com/Sim4n6","facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"published":"2023-06-29T15:02:16Z","modified":"2025-02-14T05:29:26Z","fixes":[{"ecosystem":"PyPI","package":"safeurl-python","fixed_in":["1.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"safeurl-python","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.3"}]}]},{"source":"osv","ecosystem":"PyPI","package":"safeurl-python","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.3"}]}],"versions":["1.0","1.2"]}],"references":[{"url":"https://github.com/IncludeSecurity/safeurl-python/security/advisories/GHSA-373w-rj84-pv6x","tags":["web"]},{"url":"https://github.com/IncludeSecurity/safeurl-python/pull/6","tags":["web"]},{"url":"https://github.com/IncludeSecurity/safeurl-python/commit/c4f9677f8790a58eaa1953bac286cca75a5f580e","tags":["web"]},{"url":"https://github.com/advisories/GHSA-373w-rj84-pv6x"},{"url":"https://github.com/IncludeSecurity/safeurl-python","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-373w-rj84-pv6x","title":"SafeURL-Python's hostname blocklist does not block FQDNs","description":"### Description\nIf a hostname was blacklisted, it was possible to bypass the blacklist by requesting the FQDN of the host (e.g. adding `.` to the end).\n\n### Impact\nThe main purpose of this library is to block requests to internal/private IPs and these cannot be bypassed using this finding. But if a library user had specifically set certain hostnames as blocked, then an attacker would be able to circumvent that block to cause SSRFs to request those hostnames.\n\n### Patches\nFixed by https://github.com/IncludeSecurity/safeurl-python/pull/6\n\n### Credit\nhttps://github.com/Sim4n6\n","status":"published","published":"2023-06-29T15:02:16Z","modified":"2023-06-29T15:02:18Z","updated_at":"2026-11-02T14:36:55.184601Z"}],"osv":[{"id":"GHSA-373w-rj84-pv6x","title":"SafeURL-Python's hostname blocklist does not block FQDNs","description":"### Description\nIf a hostname was blacklisted, it was possible to bypass the blacklist by requesting the FQDN of the host (e.g. adding `.` to the end).\n\n### Impact\nThe main purpose of this library is to block requests to internal/private IPs and these cannot be bypassed using this finding. But if a library user had specifically set certain hostnames as blocked, then an attacker would be able to circumvent that block to cause SSRFs to request those hostnames.\n\n### Patches\nFixed by https://github.com/IncludeSecurity/safeurl-python/pull/6\n\n### Credit\nhttps://github.com/Sim4n6\n","status":"published","published":"2023-06-29T15:02:16Z","modified":"2025-02-14T05:29:26.997226Z","updated_at":"2026-11-02T15:46:35.406455Z"}]}}
