High severity · published May 7, 2024
CVE-2024-4030
tempfile.mkdtemp() may be readable and writeable by all users on Windows
7.1
CVSS
0.3%
EPSS
No
On KEV
Description
On Windows a directory returned by tempfile.mkdtemp() would not always have permissions set to restrict reading and writing to the temporary directory by other users, instead usually inheriting the correct permissions from the default location. Alternate configurations or users without a profile directory may not have the intended permissions.
If you’re not using Windows or haven’t changed the temporary directory location then you aren’t affected by this vulnerability. On other platforms the returned directory is consistently readable and writable only by the current user.
This issue was caused by Python not supporting Unix permissions on Windows. The fix adds support for Unix “700” for the mkdir function on Windows which is used by mkdtemp() to ensure the newly created directory has the proper permissions.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 23% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
CP
CPython · Python Software Foundation
before 3.8.20; 3.9.0 before 3.9.20; 3.10.0 before 3.10.15; 3.11.0 before 3.11.10; 3.12.0 before 3.12.4; 3.13.0a1 before 3.13.0b1 · source: vendor, CISA
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2024-4030
CVE.org
https://www.cve.org/CVERecord?id=CVE-2024-4030
github.com
https://github.com/python/cpython/commit/35c799d79177b962ddace2fa068101465570a29a
github.com
https://github.com/python/cpython/commit/5130731c9e779b97d00a24f54cdce73ce9975dfd
github.com
https://github.com/python/cpython/commit/66f8bb76a15e64a1bb7688b177ed29e26230fdee
github.com
https://github.com/python/cpython/commit/6d0850c4c8188035643586ab4d8ec2468abd699e
github.com
https://github.com/python/cpython/commit/81939dad77001556c527485d31a2d0f4a759033e
github.com
https://github.com/python/cpython/commit/8ed546679524140d8282175411fd141fe7df070d
More from CPython
9.4
CVE-2026-115557
Distrust compromised intermediate certificates in ssl module
9.4
CVE-2025-4517
Arbitrary writes via tarfile realpath overflow
9.2
CVE-2026-19445
Use-after-free of a server-side SSLContext when sni_callback switches contexts
8.8
CVE-2026-3298
Out-of-bounds write in Windows asyncio.ProacterEventLoop.sock_recvfrom_into() when using nbytes
8.7
CVE-2024-8088
Infinite loop when iterating over zip archive entry names from zipfile.Path
