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.
https://mail.python.org/archives/list/[email protected]/thread/K4EUG6EKV6JYFIC24BASYOZS4M5XOQIB/
https://github.com/python/cpython/pull/129418
https://github.com/python/cpython/issues/105704
https://github.com/python/cpython/commit/ff4e5c25666f63544071a6b075ae8b25c98b7a32
https://github.com/python/cpython/commit/d89a5f6a6e65511a5f6e0618c4c30a7aa5aba56a
https://github.com/python/cpython/commit/b8b4b713c5f8ec0958c7ef8d29d6711889bc94ab
https://github.com/python/cpython/commit/a7084f6075c9595ba60119ce8c62f1496f50c568
https://github.com/python/cpython/commit/90e526ae67b172ed7c6c56e7edad36263b0f9403
https://github.com/python/cpython/commit/526617ed68cde460236c973e5d0a8bad4de896ba
Published: 2025-01-31
Updated: 2025-02-28
Base Score: 2.6
Vector: CVSS2#AV:N/AC:H/Au:N/C:N/I:P/A:N
Severity: Low
Base Score: 4
Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N
Severity: Medium
Base Score: 6.3
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
Severity: Medium