GHSA-373w-rj84-pv6x SafeURL-Python's hostname blocklist does not block FQDNs

Not scored Published

Attackers can bypass hostname blocklists in SafeURL-Python by using FQDNs, enabling SSRF attacks against specifically blocked hosts.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is GHSA-373w-rj84-pv6x?

GHSA-373w-rj84-pv6x is a server-side request forgery vulnerability in SafeURL-Python, published on 29 Jun 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Description

If a hostname was blacklisted, it was possible to bypass the blacklist by requesting the FQDN of the host (e.g. adding . to the end).

Impact

The 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.

Patches

Fixed by https://github.com/IncludeSecurity/safeurl-python/pull/6

Credit

https://github.com/Sim4n6

Which versions are affected by GHSA-373w-rj84-pv6x?

2 open source packages ship an affected version, including SafeURL-Python and safeurl-python.

PackageAffectedFixed in
SafeURL-Python PyPIAll versions1.3
safeurl-python PyPIAll versions1.3

How do I fix GHSA-373w-rj84-pv6x?

Upgrade SafeURL-Python to 1.3 or later.

Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.

Is GHSA-373w-rj84-pv6x being exploited?

There is no known exploitation of GHSA-373w-rj84-pv6x in the wild and no public exploit code.

Sources

Is GHSA-373w-rj84-pv6x in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free