The vulnerability description explicitly mentions urllib.parse.urlsplit() and urlparse() as the affected functions. The provided commit patches (e.g., 29f348e232e82938ba2165843c448c2b291504c5) show direct modifications to Lib/urllib/parse.py.
The urlsplit function was changed to include new validation logic for bracketed hosts by calling a new helper function _check_bracketed_host. This new check was previously missing, making urlsplit vulnerable.
The urlparse function uses urlsplit internally for its parsing logic, as evident from its source code (result = SplitResult(*urlsplit(url, scheme, allow_fragments))). Therefore, the vulnerability in urlsplit directly affected urlparse. The patches to urlsplit effectively fix the issue for both functions. The core of the vulnerability was the lack of strict validation for bracketed hostnames according to RFC 3986.