CVE-2025-0938 json
URL parser allowed square brackets in domain names
published 2025-01-31 21 mo ago modified 2026-07-31 3 mo ago also BIT-libpython-2025-0938 , BIT-python-2025-0938 , BIT-python-min-2025-0938 , EUVD-2025-1935
- cvss
- 6.3
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.5%
- EPSS 1.5% chance of exploitation in 30 days, percentile 75%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- bitnami libpython 3.9.22, 3.10.17, 3.11.12, 3.12.9, 3.13.2
- bitnami python 3.9.22, 3.10.17, 3.11.12, 3.12.9, 3.13.2
- bitnami python-min 3.9.22, 3.10.17, 3.11.12, 3.12.9, 3.13.2
- Python Software Foundation CPython 3.9.22, 3.10.17, 3.11.12, 3.12.9, 3.13.2, 3.14.0a5
- pypy3 Debian 14, Debian 13 7.3.18+dfsg-2
- python3.11 Debian 12 3.11.2-6+deb12u6
- python3.13 Debian 13 3.13.2-1
debian advisories DEBIAN-CVE-2025-0938
- python3.8 Ubuntu 20.04 LTS 3.8.10-0ubuntu1~20.04.16
- python3.10 Ubuntu 22.04 LTS 3.10.12-1~22.04.9
- python3.12 Ubuntu 24.04 LTS 3.12.3-1ubuntu0.5
- python2.7 Ubuntu Pro 14.04 LTS 2.7.6-8ubuntu0.6+esm28
- python2.7 Ubuntu Pro 16.04 LTS 2.7.12-1ubuntu0~16.04.18+esm16
- python2.7 Ubuntu Pro 18.04 LTS 2.7.17-1~18.04ubuntu1.13+esm11
- python2.7 Ubuntu Pro 20.04 LTS 2.7.18-1~20.04.7+esm7
- python2.7 Ubuntu Pro 22.04 LTS 2.7.18-13ubuntu1.5+esm6
ubuntu advisories UBUNTU-CVE-2025-0938
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- python3.12 RHEL 10.0 3.12.9-1.el10
- python3 RHEL 10.0 3.12.9-1.el10
- python3-idle RHEL 10.0 3.12.9-1.el10
- python3-libs RHEL 10.0 3.12.9-1.el10
- python3-test RHEL 10.0 3.12.9-1.el10
- python3-tkinter RHEL 10.0 3.12.9-1.el10
- python-unversioned-command RHEL 10.0 3.12.9-1.el10
- python3 RHEL 8 3.6.8-74.el8_10
red hat advisories RHBA-2025:6294RHSA-2026:5588RHSA-2025:23530RHSA-2025:7109RHSA-2025:7107RHSA-2025:6977
- python313 SLE Module for Python 3 15 SP7 3.13.5-150700.4.11.1
- python313-core SLE Module for Python 3 15 SP7 3.13.5-150700.4.11.1
- python311 Linux Micro 6.1 3.11.12-slfo.1.1_1.1
- python311-core Linux Micro 6.1 3.11.12-slfo.1.1_1.1
- python311 Linux Micro 6.0 3.11.12-1.1
- python311-core Linux Micro 6.0 3.11.12-1.1
- python311 Linux Micro 6.0 3.11.11-1.1
- python311-core Linux Micro 6.0 3.11.11-1.1
suse advisories SUSE-SU-2025:02074-1SUSE-SU-2025:20374-1SUSE-SU-2025:20346-1SUSE-SU-2025:20154-1SUSE-SU-2025:0814-1SUSE-SU-2025:0756-1
- python315 openSUSE Tumbleweed 3.15.0~a1-1.1
- python310 openSUSE Tumbleweed 3.10.16-2.1
- python312 openSUSE Tumbleweed 3.12.9-1.1
- python313 openSUSE Tumbleweed 3.13.2-1.1
- python314 openSUSE Tumbleweed 3.14.0~a4-1.1
- python311 openSUSE Tumbleweed 3.11.11-3.1
- python39 openSUSE Tumbleweed 3.9.21-2.1
opensuse advisories openSUSE-SU-2025:15713-1openSUSE-SU-2025:14758-1openSUSE-SU-2025:14759-1openSUSE-SU-2025:14760-1openSUSE-SU-2025:14761-1openSUSE-SU-2025:14750-1
- python3-idle AlmaLinux 8 3.6.8-74.el8_10.alma.1
- python3-libs AlmaLinux 8 3.6.8-74.el8_10.alma.1
- python3-test AlmaLinux 8 3.6.8-74.el8_10.alma.1
- platform-python AlmaLinux 8 3.6.8-74.el8_10.alma.1
- python3-tkinter AlmaLinux 8 3.6.8-74.el8_10.alma.1
- python39 AlmaLinux 8 3.9.25-2.module_el8.10.0+4083+53cad1fb
- python39-py AlmaLinux 8 1.10.0-1.module_el8.6.0+2780+a40f65e1
- python39-pip AlmaLinux 8 20.2.4-9.module_el8.10.0+3765+2f9a457d
almalinux advisories ALSA-2026:5588ALSA-2025:23530ALSA-2025:6977ALSA-2025:7107ALSA-2025:7109
- numpy Rocky Linux 8 1.19.4-3.module+el8.10.0+1582+bc278001
- numpy Rocky Linux 8 1.19.4-3.module+el8.10.0+1860+afcc1c71
- scipy Rocky Linux 8 1.5.4-5.module+el8.10.0+1860+afcc1c71
- scipy Rocky Linux 8 1.5.4-5.module+el8.10.0+1582+bc278001
- Cython Rocky Linux 8 0.29.21-5.module+el8.10.0+1582+bc278001
- Cython Rocky Linux 8 0.29.21-5.module+el8.10.0+1860+afcc1c71
- pytest Rocky Linux 8 6.0.2-2.module+el8.10.0+1860+afcc1c71
- pytest Rocky Linux 8 6.0.2-2.module+el8.10.0+1582+bc278001
rocky linux advisories RLSA-2025:23530RLSA-2025:6977RLSA-2025:7107RLSA-2025:7109
- python3 Alpine 3.19, Alpine 3.18 3.11.12-r0
- python3 Alpine 3.24, Alpine 3.23, Alpine 3.22 +2 more 3.12.9-r0
alpine advisories ALPINE-CVE-2025-0938
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- python3 Azure Linux 3.0 3.12.9-1
- python3 CBL-Mariner 2.0 3.9.19-10
azure linux advisories AZL-56231AZL-56343
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- github.com/python/cpython@d89a5f6 commit
- github.com/python/cpython@90e526a commit
- github.com/python/cpython@a7084f6 commit
- github.com/python/cpython@526617e commit
- github.com/python/cpython@b8b4b71 commit
- github.com/python/cpython@ff4e5c2 commit
- github.com/python/cpython#129418 pull request
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-0938 updated cvss 6.8
python: cpython: URL parser allowed square brackets in domain names
-
Red Hat Enterprise Linux 6 python, tkinter, python-libs, python-test, python-tools Red Hat Enterprise Linux 7 python, python3, tkinter, python-libs, python-test, python-tools, +4 moreaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 8 scipy, python36, python3.11, python3.12, python-nose, python-wheel, +31 moreaffected: workaround, no fix available, no fix planned “Out of support scope”
-
Red Hat Discovery 1.14 discovery 1.14.2-1748467619, discovery 1.14.3-1748529279fixed: vendor fix RHSA-2025:8385
-
Red Hat Enterprise Linux AppStream (v. 8) python3-idle 3.6.8-74.el8_10, python3-test 3.6.8-74.el8_10, platform-python 3.6.8-74.el8_10, python3-tkinter 3.6.8-74.el8_10, scipy 1.5.4-5.module+el8.9.0+19644+d68f775d, numpy 1.19.4-3.module+el8.9.0+19644+d68f775d, +53 morefixed: vendor fix RHSA-2025:23530
-
Red Hat Enterprise Linux AppStream (v. 9) python3.12 3.12.9-1.el9, python3.11 3.11.11-2.el9, python3-tkinter 3.9.21-2.el9, python3.12-libs 3.12.9-1.el9, python3.11-libs 3.11.11-2.el9, python3.12-tkinter 3.12.9-1.el9, +2 morefixed: vendor fix RHSA-2025:6977
-
Red Hat Enterprise Linux AppStream (v. 10) python3-tkinter 3.12.9-1.el10, python-unversioned-command 3.12.9-1.el10fixed: vendor fix RHBA-2025:6294
-
Red Hat Enterprise Linux BaseOS (v. 8) python3 3.6.8-74.el8_10, python3-libs 3.6.8-74.el8_10, python3-test 3.6.8-74.el8_10, platform-python 3.6.8-74.el8_10fixed: vendor fix RHSA-2026:5588
-
Red Hat Enterprise Linux BaseOS (v. 9) python3 3.9.21-2.el9, python3.9 3.9.21-2.el9, python3-libs 3.9.21-2.el9fixed: vendor fix RHSA-2025:6977
show 4 moreshow fewer
-
Red Hat Enterprise Linux BaseOS (v. 10) python3 3.12.9-1.el10, python3.12 3.12.9-1.el10, python3-libs 3.12.9-1.el10fixed: vendor fix RHBA-2025:6294
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) python3 3.9.21-2.el9, python3.12 3.12.9-1.el9, python3.11 3.11.11-2.el9, python3-idle 3.9.21-2.el9, python3-test 3.9.21-2.el9, python3-tkinter 3.9.21-2.el9, +6 morefixed: vendor fix RHSA-2025:6977
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) python3-idle 3.12.9-1.el10, python3-test 3.12.9-1.el10fixed: vendor fix RHBA-2025:6294
-
Red Hat Enterprise Linux CRB (v. 8) pytest 6.0.2-2.module+el8.9.0+19644+d68f775d, Cython 0.29.21-5.module+el8.9.0+19644+d68f775d, pybind11 2.7.1-1.module+el8.9.0+19644+d68f775d, python-py 1.10.0-1.module+el8.9.0+19644+d68f775d, python39-py 1.10.0-1.module+el8.9.0+19644+d68f775d, python-attrs 20.3.0-2.module+el8.9.0+19644+d68f775d, +16 morefixed: vendor fix RHSA-2025:23530
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 21 mo ago
Exploit prediction
1.54% chance of exploitation in the next 30 days, higher than 75% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N |
| CNA | 4.0 | 6.3 | CVSS: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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | libpython | <3.9.22 >=3.10.0, <3.10.17 >=3.11.0, <3.11.12 >=3.12.0, <3.12.9 >=3.13.0, <3.13.2 |
3.9.22 3.10.17 3.11.12 3.12.9 3.13.2 |
| bitnami | python | <3.9.22 >=3.10.0, <3.10.17 >=3.11.0, <3.11.12 >=3.12.0, <3.12.9 >=3.13.0, <3.13.2 |
3.9.22 3.10.17 3.11.12 3.12.9 3.13.2 |
| bitnami | python-min | <3.9.22 >=3.10.0, <3.10.17 >=3.11.0, <3.11.12 >=3.12.0, <3.12.9 >=3.13.0, <3.13.2 |
3.9.22 3.10.17 3.11.12 3.12.9 3.13.2 |
Affected products
- Python Software Foundation CPython
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
github.com
/python/cpython/pull/129418
patch, web
-
github.com
/python/cpython/commit/d89a5f6a6e65511a5f6e0618c4c30a7aa5aba56a
patch, web
-
github.com
/python/cpython/commit/90e526ae67b172ed7c6c56e7edad36263b0f9403
patch, web
-
github.com
/python/cpython/commit/a7084f6075c9595ba60119ce8c62f1496f50c568
patch, web
-
github.com
/python/cpython/commit/526617ed68cde460236c973e5d0a8bad4de896ba
patch, web
-
github.com
/python/cpython/commit/b8b4b713c5f8ec0958c7ef8d29d6711889bc94ab
patch, web
-
github.com
/python/cpython/commit/ff4e5c25666f63544071a6b075ae8b25c98b7a32
patch, web
-
mail.python.org
/archives/list/security-announce@python.org/thread/K4EUG6EKV6JYFIC24BASYOZS4M5XOQIB/
vendor-advisory, web
-
github.com
/python/cpython/issues/105704
issue-tracking, web
-
security.netapp.com
/advisory/ntap-20250314-0002/
web
-
lists.debian.org
/debian-lts-announce/2025/03/msg00013.html
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-0938
web
Sources
- CVE List CVE-2025-0938
- NVD CVE-2025-0938
- OSV BIT-libpython-2025-0938
- OSV BIT-python-2025-0938
- OSV BIT-python-min-2025-0938
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.