CVE-2025-0938

CVE-2025-0938 is a medium-severity vulnerability with a CVSS 4.0 base score of 6.3. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-20.

Key facts

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.

Frequently asked questions

What is CVE-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 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 severe is CVE-2025-0938?
CVE-2025-0938 has a CVSS 4.0 base score of 6.3, rated medium severity.
Is CVE-2025-0938 being actively exploited?
It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (71st percentile), an estimate of the probability of exploitation in the next 30 days.
How do I fix CVE-2025-0938?
Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
Does CVE-2025-0938 have an EU (EUVD) identifier?
Yes. CVE-2025-0938 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2025-1935.
When was CVE-2025-0938 published?
CVE-2025-0938 was published on 2025-01-31 and last updated on 2026-06-17.

References

Other CWE-20 (Improper Input Validation) vulnerabilities

Browse all CWE-20 (Improper Input Validation) vulnerabilities →