What’s Vulnerable › Vulnerabilities
CVE-2025-0938: URL parser allowed square brackets in domain names
- Severity: medium (CVSS 6.3 v4.0)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 1.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2025-01-31 · updated 2026-07-31
- Weakness: CWE-20
Description
The Python standard library functions `urllib.parse.urlsplit` and `urlparse` accepted domain names that included square brackets which isn't valid according to RFC 3986. Square brackets are only meant to be used as delimiters for specifying IPv6 and IPvFuture hosts in URLs. This could result in differential parsing across the Python URL parser and other specification-compliant URL parsers.
Affected products
- Python: before 3.9.22; from 3.10.0 before 3.10.17; from 3.11.0 before 3.11.12; from 3.12.0 before 3.12.9; from 3.13.0 before 3.13.2; from 3.14.0a1 before 3.14.0a5 — fixed in 3.10.17, 3.11.12, 3.12.9, 3.13.2, 3.14.0a5, 3.9.22
How to fix
Upgrade to a fixed version: Python 3.10.17, 3.11.12, 3.12.9, 3.13.2. Check the vendor advisory for mitigations.
References
- https://github.com/python/cpython/commit/526617ed68cde460236c973e5d0a8bad4de896ba
- https://github.com/python/cpython/commit/90e526ae67b172ed7c6c56e7edad36263b0f9403
- https://github.com/python/cpython/commit/a7084f6075c9595ba60119ce8c62f1496f50c568
- https://github.com/python/cpython/commit/b8b4b713c5f8ec0958c7ef8d29d6711889bc94ab
- https://github.com/python/cpython/commit/d89a5f6a6e65511a5f6e0618c4c30a7aa5aba56a
- https://github.com/python/cpython/commit/ff4e5c25666f63544071a6b075ae8b25c98b7a32
- https://github.com/python/cpython/issues/105704
- https://github.com/python/cpython/pull/129418
- https://mail.python.org/archives/list/security-announce@python.org/thread/K4EUG6EKV6JYFIC24BASYOZS4M5XOQIB/
- https://lists.debian.org/debian-lts-announce/2025/03/msg00013.html
- https://security.netapp.com/advisory/ntap-20250314-0002/
Get alerted when CVE-2025-0938 or the next vulnerability affects your stack