CVE-2024-11168 Improper validation of IPv6 and IPvFuture addresses

Medium 6.3 Published Updated

Improper validation of IPv6 addresses in Python's urllib allows SSRF attacks when URLs are processed by multiple parsers.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-11168?

CVE-2024-11168 is a medium-severity server-side request forgery vulnerability in CPython, published on 12 Nov 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

The urllib.parse.urlsplit() and urlparse() functions improperly validated bracketed hosts (`[]`), allowing hosts that weren't IPv6 or IPvFuture. This behavior was not conformant to RFC 3986 and potentially enabled SSRF if a URL is processed by more than one URL parser.

Weakness: CWE-918

Which versions are affected by CVE-2024-11168?

3 open source packages ship an affected version, including libpython, python and python-min.

PackageAffectedFixed in
libpython BitnamiAll versions3.9.21, 3.10.16, 3.11.4
python BitnamiAll versions3.9.21, 3.10.16, 3.11.4
python-min BitnamiAll versions3.9.21, 3.10.16, 3.11.4
Linux distribution packages (37)
python3 SUSE:Linux Enterprise Micro 5.1All versions3.6.15-150000.3.167.1
python3 SUSE:Linux Enterprise Micro 5.1All versions3.6.15-150000.3.173.1
python3-core SUSE:Linux Enterprise Micro 5.1All versions3.6.15-150000.3.167.1
python3-core SUSE:Linux Enterprise Micro 5.1All versions3.6.15-150000.3.173.1
python3 SUSE:Linux Enterprise Micro 5.2All versions3.6.15-150300.10.78.1
python3 SUSE:Linux Enterprise Micro 5.2All versions3.6.15-150300.10.84.1
python3-core SUSE:Linux Enterprise Micro 5.2All versions3.6.15-150300.10.78.1
python3-core SUSE:Linux Enterprise Micro 5.2All versions3.6.15-150300.10.84.1
python3 SUSE:Linux Enterprise Micro 5.3All versions3.6.15-150300.10.78.1
python3 SUSE:Linux Enterprise Micro 5.3All versions3.6.15-150300.10.84.1
python3-core SUSE:Linux Enterprise Micro 5.3All versions3.6.15-150300.10.78.1
python3-core SUSE:Linux Enterprise Micro 5.3All versions3.6.15-150300.10.84.1
python3 SUSE:Linux Enterprise Micro 5.4All versions3.6.15-150300.10.78.1
python3 SUSE:Linux Enterprise Micro 5.4All versions3.6.15-150300.10.84.1
python3-core SUSE:Linux Enterprise Micro 5.4All versions3.6.15-150300.10.78.1
python3-core SUSE:Linux Enterprise Micro 5.4All versions3.6.15-150300.10.84.1
python3 SUSE:Linux Enterprise Micro 5.5All versions3.6.15-150300.10.78.1
python3 SUSE:Linux Enterprise Micro 5.5All versions3.6.15-150300.10.84.1
python3-core SUSE:Linux Enterprise Micro 5.5All versions3.6.15-150300.10.78.1
python3-core SUSE:Linux Enterprise Micro 5.5All versions3.6.15-150300.10.84.1
python3 SUSE:Linux Enterprise Module for Basesystem 15 SP5All versions3.6.15-150300.10.78.1
python3-core SUSE:Linux Enterprise Module for Basesystem 15 SP5All versions3.6.15-150300.10.78.1
python3 SUSE:Linux Enterprise Module for Basesystem 15 SP6All versions3.6.15-150300.10.78.1
python3 SUSE:Linux Enterprise Module for Basesystem 15 SP6All versions3.6.15-150300.10.84.1
python3-core SUSE:Linux Enterprise Module for Basesystem 15 SP6All versions3.6.15-150300.10.78.1
python3-core SUSE:Linux Enterprise Module for Basesystem 15 SP6All versions3.6.15-150300.10.84.1
python3-core SUSE:Linux Enterprise Module for Development Tools 15 SP5All versions3.6.15-150300.10.78.1
python3-core SUSE:Linux Enterprise Module for Development Tools 15 SP6All versions3.6.15-150300.10.78.1
python3-core SUSE:Linux Enterprise Module for Development Tools 15 SP6All versions3.6.15-150300.10.84.1
python39 SUSE:Linux Enterprise Module for Legacy 15 SP5All versions3.9.20-150300.4.58.1
python39-core SUSE:Linux Enterprise Module for Legacy 15 SP5All versions3.9.20-150300.4.58.1
python SUSE:Linux Enterprise Module for Package Hub 15 SP5All versions2.7.18-150000.68.1
python-base SUSE:Linux Enterprise Module for Package Hub 15 SP5All versions2.7.18-150000.68.1
python SUSE:Linux Enterprise Module for Package Hub 15 SP6All versions2.7.18-150000.68.1
python SUSE:Linux Enterprise Module for Package Hub 15 SP6All versions2.7.18-150000.77.1
python-base SUSE:Linux Enterprise Module for Package Hub 15 SP6All versions2.7.18-150000.68.1
python-base SUSE:Linux Enterprise Module for Package Hub 15 SP6All versions2.7.18-150000.77.1

How do I fix CVE-2024-11168?

Upgrade libpython to a fixed version for your release line: 3.9.21, 3.10.16 or 3.11.4.

Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.

Is CVE-2024-11168 being exploited?

There is no known exploitation of CVE-2024-11168 in the wild and no public exploit code.

Sources

Also known as AZL-53016, BELL-CVE-2024-11168, BIT-libpython-2024-11168, BIT-python-2024-11168, BIT-python-min-2024-11168, DEBIAN-CVE-2024-11168 and 25 more.

Is CVE-2024-11168 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free