CVE-2024-11168 Improper validation of IPv6 and IPvFuture addresses
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.
| Package | Affected | Fixed in |
|---|---|---|
libpython Bitnami | All versions | 3.9.21, 3.10.16, 3.11.4 |
python Bitnami | All versions | 3.9.21, 3.10.16, 3.11.4 |
python-min Bitnami | All versions | 3.9.21, 3.10.16, 3.11.4 |
Linux distribution packages (37)
python3 SUSE:Linux Enterprise Micro 5.1 | All versions | 3.6.15-150000.3.167.1 |
python3 SUSE:Linux Enterprise Micro 5.1 | All versions | 3.6.15-150000.3.173.1 |
python3-core SUSE:Linux Enterprise Micro 5.1 | All versions | 3.6.15-150000.3.167.1 |
python3-core SUSE:Linux Enterprise Micro 5.1 | All versions | 3.6.15-150000.3.173.1 |
python3 SUSE:Linux Enterprise Micro 5.2 | All versions | 3.6.15-150300.10.78.1 |
python3 SUSE:Linux Enterprise Micro 5.2 | All versions | 3.6.15-150300.10.84.1 |
python3-core SUSE:Linux Enterprise Micro 5.2 | All versions | 3.6.15-150300.10.78.1 |
python3-core SUSE:Linux Enterprise Micro 5.2 | All versions | 3.6.15-150300.10.84.1 |
python3 SUSE:Linux Enterprise Micro 5.3 | All versions | 3.6.15-150300.10.78.1 |
python3 SUSE:Linux Enterprise Micro 5.3 | All versions | 3.6.15-150300.10.84.1 |
python3-core SUSE:Linux Enterprise Micro 5.3 | All versions | 3.6.15-150300.10.78.1 |
python3-core SUSE:Linux Enterprise Micro 5.3 | All versions | 3.6.15-150300.10.84.1 |
python3 SUSE:Linux Enterprise Micro 5.4 | All versions | 3.6.15-150300.10.78.1 |
python3 SUSE:Linux Enterprise Micro 5.4 | All versions | 3.6.15-150300.10.84.1 |
python3-core SUSE:Linux Enterprise Micro 5.4 | All versions | 3.6.15-150300.10.78.1 |
python3-core SUSE:Linux Enterprise Micro 5.4 | All versions | 3.6.15-150300.10.84.1 |
python3 SUSE:Linux Enterprise Micro 5.5 | All versions | 3.6.15-150300.10.78.1 |
python3 SUSE:Linux Enterprise Micro 5.5 | All versions | 3.6.15-150300.10.84.1 |
python3-core SUSE:Linux Enterprise Micro 5.5 | All versions | 3.6.15-150300.10.78.1 |
python3-core SUSE:Linux Enterprise Micro 5.5 | All versions | 3.6.15-150300.10.84.1 |
python3 SUSE:Linux Enterprise Module for Basesystem 15 SP5 | All versions | 3.6.15-150300.10.78.1 |
python3-core SUSE:Linux Enterprise Module for Basesystem 15 SP5 | All versions | 3.6.15-150300.10.78.1 |
python3 SUSE:Linux Enterprise Module for Basesystem 15 SP6 | All versions | 3.6.15-150300.10.78.1 |
python3 SUSE:Linux Enterprise Module for Basesystem 15 SP6 | All versions | 3.6.15-150300.10.84.1 |
python3-core SUSE:Linux Enterprise Module for Basesystem 15 SP6 | All versions | 3.6.15-150300.10.78.1 |
python3-core SUSE:Linux Enterprise Module for Basesystem 15 SP6 | All versions | 3.6.15-150300.10.84.1 |
python3-core SUSE:Linux Enterprise Module for Development Tools 15 SP5 | All versions | 3.6.15-150300.10.78.1 |
python3-core SUSE:Linux Enterprise Module for Development Tools 15 SP6 | All versions | 3.6.15-150300.10.78.1 |
python3-core SUSE:Linux Enterprise Module for Development Tools 15 SP6 | All versions | 3.6.15-150300.10.84.1 |
python39 SUSE:Linux Enterprise Module for Legacy 15 SP5 | All versions | 3.9.20-150300.4.58.1 |
python39-core SUSE:Linux Enterprise Module for Legacy 15 SP5 | All versions | 3.9.20-150300.4.58.1 |
python SUSE:Linux Enterprise Module for Package Hub 15 SP5 | All versions | 2.7.18-150000.68.1 |
python-base SUSE:Linux Enterprise Module for Package Hub 15 SP5 | All versions | 2.7.18-150000.68.1 |
python SUSE:Linux Enterprise Module for Package Hub 15 SP6 | All versions | 2.7.18-150000.68.1 |
python SUSE:Linux Enterprise Module for Package Hub 15 SP6 | All versions | 2.7.18-150000.77.1 |
python-base SUSE:Linux Enterprise Module for Package Hub 15 SP6 | All versions | 2.7.18-150000.68.1 |
python-base SUSE:Linux Enterprise Module for Package Hub 15 SP6 | All versions | 2.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.