The vulnerability description explicitly names urllib.parse.urlsplit and urllib.parse.urlparse as the affected functions. The provided commit patches (e.g., d89a5f6a6e65511a5f6e0618c4c30a7aa5aba56a and its cherry-picks for different Python versions) show modifications to the Lib/urllib/parse.py file. Specifically, the internal function _urlsplit is changed to call a new, stricter validation function _check_bracketed_netloc instead of its previous, less comprehensive check (_check_bracketed_host on a pre-parsed bracketed_host). Both urlsplit and urlparse (which calls _urlsplit) were vulnerable because they relied on this insufficiently strict parsing logic for network locations (netlocs) containing square brackets. The vulnerability was that these functions accepted and parsed URLs that did not conform to RFC 3986 regarding the use of square brackets for hostnames, potentially leading to inconsistent parsing results compared to other libraries or systems. The patch ensures these functions now raise a ValueError for such malformed URLs.