CVE-2024-11168: Python Software Foundation CPython · Server-Side Request Forgery
Affects Python Software Foundation CPythonSource CVE Database V5
Not known to be exploited · CVSS 6.3 Medium.
Data as of 25 Oct 2026, 19:02 UTC
- EPSS
- 0.6% chance of exploitation in 30 days – higher than 51% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
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/AU:NExploitation evidence
Disclosed: evidence found.
CVE published 12 Nov 2024
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 2026-10-25.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
PyPIcpythonpkg:pypi/cpythonOther threats | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
1. Upgrade CPython to a patched version once released by the Python Software Foundation that corrects the bracketed host validation logic in urllib.parse. 2. In the interim, implement strict input validation on URLs before processing, ensuring that bracketed hosts conform strictly to valid IPv6 or IPvFuture formats. 3. Employ network-level controls such as egress filtering and internal firewall rules to restrict server-initiated HTTP requests to trusted destinations only, limiting SSRF impact. 4. Use application-layer protections like web application firewalls (WAFs) configured to detect and block suspicious URL patterns or SSRF attempts. 5. Review and audit codebases for multiple URL parsing steps or components that may interpret URLs differently, standardizing on a single, secure parsing method. 6. Monitor logs for unusual outbound requests or anomalies in URL processing that could indicate exploitation attempts. 7. Educate developers about the risks of SSRF and the importance of proper URL validation and sanitization.
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.
References
- github.com/python/cpython/commit/29f348e232e82938ba2165843c448c2b291504c5 (opens in a new tab)
- github.com/python/cpython/pull/103849 (opens in a new tab)
- github.com/python/cpython/issues/103848 (opens in a new tab)
- mail.python.org/archives/list/security-announce@python.org/thread/XPWB6XVZ5G5KGEI63M4AWLIEUF5BPH4T/ (opens in a new tab)
- github.com/python/cpython/commit/b2171a2fd41416cf68afd67460578631d755a550 (opens in a new tab)
- github.com/python/cpython/commit/634ded45545ce8cbd6fd5d49785613dd7fa9b89e (opens in a new tab)
- github.com/python/cpython/commit/ddca2953191c67a12b1f19d6bca41016c6ae7132 (opens in a new tab)
- security.netapp.com/advisory/ntap-20250411-0004/ (opens in a new tab)
- lists.debian.org/debian-lts-announce/2024/12/msg00000.html (opens in a new tab)