CVE-2025-0938
published 2025-01-31CVE-2025-0938: The Python standard library functions `urllib.parse.urlsplit` and `urlparse` accepted domain names that included square brackets which isn't valid according to…
PriorityP335medium6.3CVSS 4.0
AVNACHATPPRNUINVCNVILVANSCNSILSANEXCRXIRXARXMAVXMACXMATXMPRXMUIXMVCXMVIXMVAXMSCXMSIXMSAXSXAUXRXVXREXUX
EPSS
1.50%
71.4th percentile
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
9 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | pypy3 | < pypy3 7.3.5+dfsg-2+deb11u5 (bullseye) | pypy3 7.3.5+dfsg-2+deb11u5 (bullseye) |
| debian | python3.11 | < pypy3 7.3.5+dfsg-2+deb11u5 (bullseye) | pypy3 7.3.5+dfsg-2+deb11u5 (bullseye) |
| debian | python3.13 | < pypy3 7.3.5+dfsg-2+deb11u5 (bullseye) | pypy3 7.3.5+dfsg-2+deb11u5 (bullseye) |
| debian | python3.9 | < pypy3 7.3.5+dfsg-2+deb11u5 (bullseye) | pypy3 7.3.5+dfsg-2+deb11u5 (bullseye) |
| python_software_foundation | cpython | < 3.10.17 | 3.10.17 |
| python_software_foundation | cpython | >= 3.11.0 < 3.11.12 | 3.11.12 |
| python_software_foundation | cpython | >= 3.12.0 < 3.12.9 | 3.12.9 |
| python_software_foundation | cpython | >= 3.13.0 < 3.13.2 | 3.13.2 |
| python_software_foundation | cpython | >= 3.14.0a1 < 3.14.0a5 | 3.14.0a5 |
CVSS provenance
nvdv4.06.3MEDIUMCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
osv6.3MEDIUM
vendor_debian6.3MEDIUM
vendor_redhat6.3MEDIUM
vendor_ubuntu3.7LOW
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Ubuntu
Python 2.7 regression
vendor_ubuntu·2025-09-29·CVSS 3.7
CVE-2025-0938 [LOW] Python 2.7 regression
Title: Python 2.7 regression
Summary: USN-7280-2 introduced a regression in Python 2.7
USN-7280-2 fixed vulnerabilities in Python. It was discovered that the
fixes for CVE-2025-0938 and CVE-2024-11168 were incorrectly applied on
Ubuntu 14.04 LTS as a result. This update fixes the problem.
We apologize for the inconvenience.
Original advisory details:
It was discovered that Python incorrectly handled parsing domain names that
included square brackets. A remote attacker could possibly use this issue
to perform a Server-Side Request Forgery (SSRF) attack.
Instructions: In general, a standard system update will make all the necessary changes.
Ubuntu
Python vulnerability
vendor_ubuntu·2025-05-22
CVE-2025-0938 Python vulnerability
Title: Python vulnerability
Summary: Python could allow Server-Side Request Forgery (SSRF) attacks.
USN-7280-1 fixed a vulnerability in Python. This update provides the
corresponding updates for some additional Python packages in Ubuntu
releases.
Original advisory details:
It was discovered that Python incorrectly handled parsing domain names
that included square brackets. A remote attacker could possibly use
this issue to perform a Server-Side Request Forgery (SSRF) attack.
Instructions: In general, a standard system update will make all the necessary changes.
Ubuntu
Python regression
vendor_ubuntu·2025-03-24·CVSS 3.7
CVE-2025-0938 [LOW] Python regression
Title: Python regression
Summary: USN-7348-1 introduced a regression in Python.
USN-7348-1 fixed vulnerabilities in Python. The update introduced a
regression. This update fixes the problem.
We apologize for the inconvenience.
Original advisory details:
It was discovered that the Python ipaddress module contained incorrect
information about which IP address ranges were considered “private” or
“globally reachable”. This could possibly result in applications applying
incorrect security policies. This issue only affected Ubuntu 14.04 LTS
and Ubuntu 16.04 LTS. (CVE-2024-4032)
It was discovered that Python incorrectly handled quoting path names when
using the venv module. A local attacker able to control virtual
environments could possibly use this issue to execute arbitrary code when
the
Ubuntu
Python vulnerabilities
vendor_ubuntu·2025-03-12·CVSS 3.7
CVE-2024-9287 [LOW] Python vulnerabilities
Title: Python vulnerabilities
Summary: Several security issues were fixed in Python.
It was discovered that the Python ipaddress module contained incorrect
information about which IP address ranges were considered “private” or
“globally reachable”. This could possibly result in applications applying
incorrect security policies. This issue only affected Ubuntu 14.04 LTS
and Ubuntu 16.04 LTS. (CVE-2024-4032)
It was discovered that Python incorrectly handled quoting path names when
using the venv module. A local attacker able to control virtual
environments could possibly use this issue to execute arbitrary code when
the virtual environment is activated. (CVE-2024-9287)
It was discovered that Python incorrectly handled parsing bracketed hosts.
A remote attacker could possibly use this iss
Ubuntu
Python vulnerability
vendor_ubuntu·2025-02-20
CVE-2025-0938 Python vulnerability
Title: Python vulnerability
Summary: Python could allow Server-Side Request Forgery attacks.
It was discovered that Python incorrectly handled parsing domain names that
included square brackets. A remote attacker could possibly use this issue
to perform a Server-Side Request Forgery (SSRF) attack.
Instructions: In general, a standard system update will make all the necessary changes.
Red Hat
python: cpython: URL parser allowed square brackets in domain names
vendor_redhat·2025-01-31·CVSS 6.3
CVE-2025-0938 [MEDIUM] CWE-20 python: cpython: URL parser allowed square brackets in domain names
python: cpython: URL parser allowed square brackets in domain names
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.
A flaw was found in Python. The Python standard library functions `urllib.parse.urlsplit` and `urlparse` accept 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 p
Debian
CVE-2025-0938: pypy3 - The Python standard library functions `urllib.parse.urlsplit` and `urlparse` acc...
vendor_debian·2025·CVSS 6.3
CVE-2025-0938 [MEDIUM] CVE-2025-0938: pypy3 - The Python standard library functions `urllib.parse.urlsplit` and `urlparse` acc...
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.
Scope: local
bookworm: open
bullseye: resolved (fixed in 7.3.5+dfsg-2+deb11u5)
forky: resolved (fixed in 7.3.18+dfsg-2)
sid: resolved (fixed in 7.3.18+dfsg-2)
trixie: resolved (fixed in 7.3.18+dfsg-2)
OSV
python2.7 regression
osv·2025-09-29·CVSS 6.3
CVE-2025-0938 [MEDIUM] python2.7 regression
python2.7 regression
USN-7280-2 fixed vulnerabilities in Python. It was discovered that the
fixes for CVE-2025-0938 and CVE-2024-11168 were incorrectly applied on
Ubuntu 14.04 LTS as a result. This update fixes the problem.
We apologize for the inconvenience.
Original advisory details:
It was discovered that Python incorrectly handled parsing domain names that
included square brackets. A remote attacker could possibly use this issue
to perform a Server-Side Request Forgery (SSRF) attack.
OSV
python3.5, python3.8 regression
osv·2025-03-24·CVSS 6.3
[MEDIUM] python3.5, python3.8 regression
python3.5, python3.8 regression
USN-7348-1 fixed vulnerabilities in Python. The update introduced a
regression. This update fixes the problem.
We apologize for the inconvenience.
Original advisory details:
It was discovered that the Python ipaddress module contained incorrect
information about which IP address ranges were considered “private” or
“globally reachable”. This could possibly result in applications applying
incorrect security policies. This issue only affected Ubuntu 14.04 LTS
and Ubuntu 16.04 LTS. (CVE-2024-4032)
It was discovered that Python incorrectly handled quoting path names when
using the venv module. A local attacker able to control virtual
environments could possibly use this issue to execute arbitrary code when
the virtual environment is activated. (CVE-2024-9287
OSV
python3.5, python3.8 vulnerabilities
osv·2025-03-12·CVSS 6.3
CVE-2024-4032 [MEDIUM] python3.5, python3.8 vulnerabilities
python3.5, python3.8 vulnerabilities
It was discovered that the Python ipaddress module contained incorrect
information about which IP address ranges were considered “private” or
“globally reachable”. This could possibly result in applications applying
incorrect security policies. This issue only affected Ubuntu 14.04 LTS
and Ubuntu 16.04 LTS. (CVE-2024-4032)
It was discovered that Python incorrectly handled quoting path names when
using the venv module. A local attacker able to control virtual
environments could possibly use this issue to execute arbitrary code when
the virtual environment is activated. (CVE-2024-9287)
It was discovered that Python incorrectly handled parsing bracketed hosts.
A remote attacker could possibly use this issue to perform a Server-Side
Request Forgery (SSRF
GHSA
GHSA-5qjr-cj9f-phrx: The Python standard library functions `urllib
ghsa_unreviewed·2025-01-31
CVE-2025-0938 [MEDIUM] CWE-20 GHSA-5qjr-cj9f-phrx: The Python standard library functions `urllib
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.
OSV
CVE-2025-0938: The Python standard library functions `urllib
osv·2025-01-31·CVSS 6.3
CVE-2025-0938 [MEDIUM] CVE-2025-0938: The Python standard library functions `urllib
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.
No detection rules found.
No public exploits indexed.
https://github.com/python/cpython/commit/526617ed68cde460236c973e5d0a8bad4de896bahttps://github.com/python/cpython/commit/90e526ae67b172ed7c6c56e7edad36263b0f9403https://github.com/python/cpython/commit/a7084f6075c9595ba60119ce8c62f1496f50c568https://github.com/python/cpython/commit/b8b4b713c5f8ec0958c7ef8d29d6711889bc94abhttps://github.com/python/cpython/commit/d89a5f6a6e65511a5f6e0618c4c30a7aa5aba56ahttps://github.com/python/cpython/commit/ff4e5c25666f63544071a6b075ae8b25c98b7a32https://github.com/python/cpython/issues/105704https://github.com/python/cpython/pull/129418https://mail.python.org/archives/list/[email protected]/thread/K4EUG6EKV6JYFIC24BASYOZS4M5XOQIB/https://lists.debian.org/debian-lts-announce/2025/03/msg00013.htmlhttps://security.netapp.com/advisory/ntap-20250314-0002/
2025-01-31
Published