{"id":"CVE-2025-0938","state":"PUBLISHED","title":"URL parser allowed square brackets in domain names","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.","publishedAt":"2025-01-31T17:51:35.898Z","updatedAt":"2026-07-31T14:05:21.438Z","severity":{"score":6.3,"label":"Medium","version":"4.0","vector":"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","source":"PSF"},"assigner":"PSF","products":["Python Software Foundation CPython"],"affected":[{"vendor":"Python Software Foundation","product":"CPython","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.9.22","versionType":"python"},{"version":"3.10.0","status":"affected","lessThan":"3.10.17","versionType":"python"},{"version":"3.11.0","status":"affected","lessThan":"3.11.12","versionType":"python"},{"version":"3.12.0","status":"affected","lessThan":"3.12.9","versionType":"python"},{"version":"3.13.0","status":"affected","lessThan":"3.13.2","versionType":"python"},{"version":"3.14.0a1","status":"affected","lessThan":"3.14.0a5","versionType":"python"}],"repo":"https://github.com/python/cpython"}],"references":["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://github.com/python/cpython/commit/d89a5f6a6e65511a5f6e0618c4c30a7aa5aba56a","https://github.com/python/cpython/commit/90e526ae67b172ed7c6c56e7edad36263b0f9403","https://github.com/python/cpython/commit/a7084f6075c9595ba60119ce8c62f1496f50c568","https://github.com/python/cpython/commit/526617ed68cde460236c973e5d0a8bad4de896ba","https://github.com/python/cpython/commit/b8b4b713c5f8ec0958c7ef8d29d6711889bc94ab","https://github.com/python/cpython/commit/ff4e5c25666f63544071a6b075ae8b25c98b7a32","https://security.netapp.com/advisory/ntap-20250314-0002/","https://lists.debian.org/debian-lts-announce/2025/03/msg00013.html"],"weaknesses":["CWE-20"],"ingestedAt":"2026-10-29T20:08:20.985Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/0xxx/CVE-2025-0938.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-0938","state":"PUBLISHED","datePublished":"2025-01-31T17:51:35.898Z","dateUpdated":"2026-07-31T14:05:21.438Z","assignerShortName":"PSF","assignerOrgId":"28c92f92-d60d-412d-b760-e73465c3df22","dateReserved":"2025-01-31T17:45:10.107Z"},"containers":{"cna":{"title":"URL parser allowed square brackets in domain names","descriptions":[{"lang":"en","value":"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":[{"vendor":"Python Software Foundation","product":"CPython","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.9.22","versionType":"python"},{"version":"3.10.0","status":"affected","lessThan":"3.10.17","versionType":"python"},{"version":"3.11.0","status":"affected","lessThan":"3.11.12","versionType":"python"},{"version":"3.12.0","status":"affected","lessThan":"3.12.9","versionType":"python"},{"version":"3.13.0","status":"affected","lessThan":"3.13.2","versionType":"python"},{"version":"3.14.0a1","status":"affected","lessThan":"3.14.0a5","versionType":"python"}],"repo":"https://github.com/python/cpython"}],"references":[{"url":"https://github.com/python/cpython/issues/105704","tags":["issue-tracking"]},{"url":"https://github.com/python/cpython/pull/129418","tags":["patch"]},{"url":"https://mail.python.org/archives/list/security-announce@python.org/thread/K4EUG6EKV6JYFIC24BASYOZS4M5XOQIB/","tags":["vendor-advisory"]},{"url":"https://github.com/python/cpython/commit/d89a5f6a6e65511a5f6e0618c4c30a7aa5aba56a","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/90e526ae67b172ed7c6c56e7edad36263b0f9403","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/a7084f6075c9595ba60119ce8c62f1496f50c568","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/526617ed68cde460236c973e5d0a8bad4de896ba","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/b8b4b713c5f8ec0958c7ef8d29d6711889bc94ab","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/ff4e5c25666f63544071a6b075ae8b25c98b7a32","tags":["patch"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"HIGH","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":6.3,"baseSeverity":"MEDIUM","privilegesRequired":"NONE","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"LOW","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"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","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-20","description":"CWE-20 Improper Input Validation","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"PSF","orgId":"28c92f92-d60d-412d-b760-e73465c3df22","dateUpdated":"2026-07-31T14:05:21.438Z"},"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 0.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-01-31T18:50:16.654297Z","id":"CVE-2025-0938","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-01-31T18:50:29.327Z"}},{"title":"CVE Program Container","references":[{"url":"https://security.netapp.com/advisory/ntap-20250314-0002/"},{"url":"https://lists.debian.org/debian-lts-announce/2025/03/msg00013.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T20:56:43.285Z"}}]}}}