Medium

urllib3 does not control redirects in browsers and Node.js

  • Disclosed: 18.06.2025
  • Updated: 11.10.2026 15:17

urllib3 supports being used in a Pyodide runtime utilizing the JavaScript Fetch API or falling back on XMLHttpRequest. This means you can use Python libraries to make HTTP requests from your browser or Node.js. Additionally, urllib3 provides a mechanism to control redirects.

However, the retries and redirect parameters are ignored with Pyodide; the runtime itself determines redirect behavior.

Affected usages

Any code which relies on urllib3 to control the number of redirects for an HTTP request in a Pyodide runtime.

Impact

Redirects are often used to exploit SSRF vulnerabilities. An application attempting to mitigate SSRF or open redirect vulnerabilities by disabling redirects may remain vulnerable if a Pyodide runtime redirect mechanism is unsuitable.

Remediation

If you use urllib3 in Node.js, upgrade to a patched version of urllib3.

Unfortunately, browsers provide no suitable way which urllib3 can use: XMLHttpRequest provides no control over redirects, the Fetch API returns opaqueredirect responses lacking data when redirects are controlled manually. Expect default browser behavior for redirects.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Python (PyPI) urllib3 >= 2.2.0, < 2.5.0 2.5.0

References

CVSS score 5.3/10
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
Weakness (CWE)
CWE-601
Platform
Python (PyPI)
Package
urllib3
Disclosed
18.06.2025
Updated
11.10.2026 15:17

Sources and licenses

OSV / GitHub Advisory Database - PYSEC-2026-1997 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-48p4-8xcf-vxj5 - CC BY 4.0

Vulnerability history: urllib3

All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (22) in the archive
Total entries
22
First → latest
01.2017 09.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • Critical 1
  • High 11
  • Medium 10

Disclosures per year

  1. 2017: 1
  2. 2018: 1
  3. 2019: 2
  4. 2020: 2
  5. 2021: 2
  6. 2022: 0
  7. 2023: 3
  8. 2024: 1
  9. 2025: 4
  10. 2026: 6
Severity:
  1. High CVE-2026-97687 >= 1.26.0, < 2.8.0 2.8.0
  2. High · 7.5 CVE-2026-44432 >= 2.6.0, < 2.7.0 2.7.0
  3. High CVE-2025-66471 >= 1.0, < 2.6.0 2.6.0
  4. urllib3 does not control redirects in browsers and Node.js this entry
    Medium · 5.3 CVE-2025-50182 >= 2.2.0, < 2.5.0 2.5.0
  5. High · 5.9 CVE-2023-43804 >= 2.0.0, < 2.0.6, < 1.26.17 2.0.6, 1.26.17
  6. High · 7.5 CVE-2020-7212 >= 1.25.2, < 1.25.8 1.25.8
  7. High · 7.5 CVE-2019-11324 < 1.24.2 1.24.2

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.