CVE-2024-3219
Pure-Python fallback of socket.socketpair() doesn’t authenticate peer connection
- State
- Published
- Severity
- 5.1 Medium
- Published
- Jul 29, 2024
- Updated
- May 2, 2025
- Reserved
- Apr 2, 2024
Description
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.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 4.0 | 5.1 Medium | 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 | PSF |
Weaknesses
- CWE-306 Missing Authentication for Critical Function
Affected Products
| Product | Versions |
|---|---|
CPythonPython Software Foundation |
|
References
- https://github.com/python/cpython/pull/122134patch
- https://github.com/python/cpython/issues/122133issue-tracking
- https://mail.python.org/archives/list/security-announce@python.org/thread/WYKDQWIERRE2ICIYMSVRZJO33GSCWU2B/vendor-advisory
- http://www.openwall.com/lists/oss-security/2024/07/29/3
- https://github.com/python/cpython/commit/06fa244666ec6335a3b9bf2367e31b42b9a89b20patch
- https://github.com/python/cpython/commit/0b65c8bf5367625673eafb92f85046a1b31259f2patch
- https://github.com/python/cpython/commit/220e31adeaaa8436c9ff234cba1398bc49e2bb6cpatch
- https://github.com/python/cpython/commit/5f90abaa786f994db3907fc31e2ee00ea2cf0929patch
- https://github.com/python/cpython/commit/b252317956b7fc035bb3774ef6a177e227f9fc54patch
- https://github.com/python/cpython/commit/2621a8a40ba4b2c68ca564671b7daa5da80a4508patch
- https://github.com/python/cpython/commit/5df322e91a40909e6904bbdbc0c3a6b6a9eead39patch
- https://github.com/python/cpython/commit/c21a36112a0028d7ac3cf8f480e0dc88dba5922cpatch
- https://github.com/python/cpython/commit/f071f01b7b7e19d7d6b3a4b0ec62f820ecb14660patch
- https://github.com/python/cpython/commit/31302f5fc24eecd693f0c8aaba7c2840b09b594dpatch
- https://github.com/python/cpython/commit/3f5d9d12c74787fbf3f5891835c85cc15526c86dpatch
- https://github.com/python/cpython/commit/c5655aa6ad120d2ed7f255bebd6e8b71a9c07ddepatch
- https://github.com/python/cpython/commit/e319f774f9e766a2b92949444a2d46081df3363apatch
- https://github.com/python/cpython/commit/78df1043dbdce5c989600616f9f87b4ee72944e5patch
- https://security.netapp.com/advisory/ntap-20250502-0004/
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.