#VU98567 Race condition in Python - CVE-2024-3219


Vulnerability identifier: #VU98567

Vulnerability risk: Low

CVSSv4.0: 1.7 [CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:U/U:Clear]

CVE-ID: CVE-2024-3219

CWE-ID: CWE-362

Exploitation vector: Network

Exploit availability: No

Vulnerable software:
Python
Universal components / Libraries / Scripting languages

Vendor: Python.org

Description

The vulnerability allows a remote attacker to gain access to sensitive information.

The vulnerability exists due to a race condition within the socket module, which 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.

Mitigation
Install updates from vendor's website.

Vulnerable software versions

Python: 3.5 - 3.5.10, 3.6 - 3.6.15, 3.7 - 3.7.17, 3.8 - 3.8.19, 3.9.0b4 - 3.9.19, 3.10.0 - 3.12.4


External links
https://github.com/python/cpython/pull/122134
https://github.com/python/cpython/issues/122133
https://mail.python.org/archives/list/security-announce@python.org/thread/WYKDQWIERRE2ICIYMSVRZJO33GSCWU2B/
https://www.openwall.com/lists/oss-security/2024/07/29/3
https://github.com/python/cpython/commit/06fa244666ec6335a3b9bf2367e31b42b9a89b20
https://github.com/python/cpython/commit/0b65c8bf5367625673eafb92f85046a1b31259f2
https://github.com/python/cpython/commit/220e31adeaaa8436c9ff234cba1398bc49e2bb6c
https://github.com/python/cpython/commit/5f90abaa786f994db3907fc31e2ee00ea2cf0929
https://github.com/python/cpython/commit/b252317956b7fc035bb3774ef6a177e227f9fc54
https://github.com/python/cpython/commit/2621a8a40ba4b2c68ca564671b7daa5da80a4508
https://github.com/python/cpython/commit/5df322e91a40909e6904bbdbc0c3a6b6a9eead39
https://github.com/python/cpython/commit/c21a36112a0028d7ac3cf8f480e0dc88dba5922c
https://github.com/python/cpython/commit/f071f01b7b7e19d7d6b3a4b0ec62f820ecb14660
https://github.com/python/cpython/commit/31302f5fc24eecd693f0c8aaba7c2840b09b594d
https://github.com/python/cpython/commit/3f5d9d12c74787fbf3f5891835c85cc15526c86d
https://github.com/python/cpython/commit/c5655aa6ad120d2ed7f255bebd6e8b71a9c07dde
https://github.com/python/cpython/commit/e319f774f9e766a2b92949444a2d46081df3363a


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.


Latest bulletins with this vulnerability