CVE-2025-0938
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.
How to fix
- Python Software Foundation CPython3.9.22, 3.10.17, 3.11.12, 3.12.9, 3.13.2, 3.14.0a5 or later
- github.com/python/cpython/pull/129418
- github.com/python/cpython/commit/d89a5f6a6e65511a5f6e0618c4c30a7aa5aba56a
- github.com/python/cpython/commit/90e526ae67b172ed7c6c56e7edad36263b0f9403
- github.com/python/cpython/commit/a7084f6075c9595ba60119ce8c62f1496f50c568
- github.com/python/cpython/commit/526617ed68cde460236c973e5d0a8bad4de896ba
- github.com/python/cpython/commit/b8b4b713c5f8ec0958c7ef8d29d6711889bc94ab
- github.com/python/cpython/commit/ff4e5c25666f63544071a6b075ae8b25c98b7a32
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Python Software Foundation CPython | v < 3.9.22, 3.10.0 ≤ v < 3.10.17, 3.11.0 ≤ v < 3.11.12, 3.12.0 ≤ v < 3.12.9, 3.13.0 ≤ v < 3.13.2, 3.14.0a1 ≤ v < 3.14.0a5 | 3.9.22, 3.10.17, 3.11.12, 3.12.9, 3.13.2, 3.14.0a5 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.