CVE-2025-50181 urllib3 redirects are not disabled when retries are disabled on PoolManager instantiation

Medium 5.3 Published Updated

Attackers can bypass SSRF mitigations in urllib3 when redirects are disabled via specific PoolManager retry configurations, affecting applications relying on this setting.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2025-50181?

CVE-2025-50181 is a medium-severity server-side request forgery vulnerability in urllib3, published on 19 Jun 2025. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

urllib3 is a user-friendly HTTP client library for Python. Prior to 2.5.0, it is possible to disable redirects for all requests by instantiating a PoolManager and specifying retries in a way that disable redirects. By default, requests and botocore users are not affected. An application attempting to mitigate SSRF or open redirect vulnerabilities by disabling redirects at the PoolManager level will remain vulnerable. This issue has been patched in version 2.5.0.

Weakness: CWE-601

Which versions are affected by CVE-2025-50181?

3 open source packages ship an affected version, including urllib3. It affects 1 product.

PackageAffectedFixed in
urllib3 PyPIAll versions2.5.0
urllib3 PyPIAll versions2.5.0
urllib3 PyPIAll versions2.5.0
Linux distribution packages (16)
python-urllib3 SUSE:Linux Enterprise Micro 5.1All versions1.25.10-150300.4.18.1
python-urllib3 SUSE:Linux Enterprise Micro 5.2All versions1.25.10-150300.4.18.1
python-urllib3 SUSE:Linux Enterprise Micro 5.3All versions1.25.10-150300.4.18.1
python-urllib3 SUSE:Linux Enterprise Micro 5.4All versions1.25.10-150300.4.18.1
python-urllib3 SUSE:Linux Enterprise Micro 5.5All versions1.25.10-150300.4.18.1
python-urllib3 SUSE:Linux Enterprise Module for Basesystem 15 SP6All versions1.25.10-150300.4.18.1
python-urllib3 SUSE:Linux Enterprise Module for Basesystem 15 SP7All versions1.25.10-150300.4.18.1
python-urllib3 SUSE:Linux Enterprise Module for Public Cloud 12All versions1.25.10-3.43.1
python-urllib3 SUSE:Linux Enterprise Module for Public Cloud 15 SP4All versions2.0.7-150400.7.21.1
python-urllib3 SUSE:Linux Enterprise Module for Python 3 15 SP6All versions2.0.7-150400.7.21.1
python-urllib3 SUSE:Linux Enterprise Module for Python 3 15 SP7All versions2.0.7-150400.7.21.1
python-urllib3 SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5All versions1.25.10-3.43.1
python-urllib3 SUSE:Linux Micro 6.0All versions2.1.0-3.1
python-urllib3 SUSE:Linux Micro 6.1All versions2.1.0-slfo.1.1_2.1
python-urllib3 openSUSE:Leap 15.6All versions2.0.7-150400.7.21.1
python-urllib3_1 openSUSE:TumbleweedAll versions1.26.20-3.1

Products include Python Urllib3.

How do I fix CVE-2025-50181?

Upgrade urllib3 to 2.5.0 or later.

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

Is CVE-2025-50181 being exploited?

There is no known exploitation of CVE-2025-50181 in the wild and no public exploit code.

Sources

Also known as AZL-64170, AZL-64175, AZL-64218, AZL-64244, AZL-77823, BELL-CVE-2025-50181 and 29 more.

Is CVE-2025-50181 in your software?

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

Check your SBOMs for free