CVE-2024-3219 json
Pure-Python fallback of socket.socketpair() doesn’t authenticate peer connection
published 2024-07-29 2 y ago modified 2026-06-17 4 mo ago also EUVD-2024-31811
- cvss
- 5.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 16%
- public exploits
- 0
- none known
Summary
The “socket” module provides a pure-Python fallback to the socket.socketpair() function for platforms that don’t support AF_UNIX, such as Windows. This pure-Python implementation uses AF_INET or AF_INET6 to create a local connected pair of sockets. The connection between the two sockets was not verified before passing the two sockets back to the user, which leaves the server socket vulnerable to a connection race from a malicious local peer.
Platforms that support AF_UNIX such as Linux and macOS are not affected by this vulnerability. Versions prior to CPython 3.5 are not affected due to the vulnerable API not being included.
Patch / fix
- Python Software Foundation CPython 3.8.20, 3.9.20, 3.10.15, 3.11.10, 3.12.5, 3.13.0rc1
- github.com/python/cpython@06fa244 commit
- github.com/python/cpython@0b65c8b commit
- github.com/python/cpython@220e31a commit
- github.com/python/cpython@5f90aba commit
- github.com/python/cpython@b252317 commit
- github.com/python/cpython@2621a8a commit
- github.com/python/cpython@5df322e commit
- github.com/python/cpython@c21a361 commit
- github.com/python/cpython@f071f01 commit
- github.com/python/cpython@31302f5 commit
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.25% chance of exploitation in the next 30 days, higher than 16% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected products
- Python Software Foundation CPython
Classification
- Weakness
-
- CWE-306 Missing Authentication for Critical Functionality
References
-
github.com
/python/cpython/pull/122134
patch
-
github.com
/python/cpython/commit/06fa244666ec6335a3b9bf2367e31b42b9a89b20
patch
-
github.com
/python/cpython/commit/0b65c8bf5367625673eafb92f85046a1b31259f2
patch
-
github.com
/python/cpython/commit/220e31adeaaa8436c9ff234cba1398bc49e2bb6c
patch
-
github.com
/python/cpython/commit/5f90abaa786f994db3907fc31e2ee00ea2cf0929
patch
-
github.com
/python/cpython/commit/b252317956b7fc035bb3774ef6a177e227f9fc54
patch
-
github.com
/python/cpython/commit/2621a8a40ba4b2c68ca564671b7daa5da80a4508
patch
-
github.com
/python/cpython/commit/5df322e91a40909e6904bbdbc0c3a6b6a9eead39
patch
-
github.com
/python/cpython/commit/c21a36112a0028d7ac3cf8f480e0dc88dba5922c
patch
-
github.com
/python/cpython/commit/f071f01b7b7e19d7d6b3a4b0ec62f820ecb14660
patch
-
github.com
/python/cpython/commit/31302f5fc24eecd693f0c8aaba7c2840b09b594d
patch
-
github.com
/python/cpython/commit/3f5d9d12c74787fbf3f5891835c85cc15526c86d
patch
-
github.com
/python/cpython/commit/c5655aa6ad120d2ed7f255bebd6e8b71a9c07dde
patch
-
github.com
/python/cpython/commit/e319f774f9e766a2b92949444a2d46081df3363a
patch
-
github.com
/python/cpython/commit/78df1043dbdce5c989600616f9f87b4ee72944e5
patch
-
mail.python.org
/archives/list/security-announce@python.org/thread/WYKDQWIERRE2ICIYMSVRZJO33GSCWU2B/
vendor-advisory
-
github.com
/python/cpython/issues/122133
issue-tracking
- openwall.com /lists/oss-security/2024/07/29/3
- security.netapp.com /advisory/ntap-20250502-0004/
Sources
- CVE List CVE-2024-3219
- NVD CVE-2024-3219
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.