CVE-2024-4030 | tempfile.mkdtemp() may be readable and writeable by all users on Windows

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.

Published: 2024-05-07 Last update: 2026-06-17 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2024-4030 is rated Low Risk (36.2/100): CVSS High severity, with low exploitation likelihood (EPSS 0.30%). Mandatory action: Monitor for updates and reassess as exploit intelligence or EPSS changes.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Exploit prediction scoring system (EPSS) score for CVE-2024-4030

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-06-15 0.03% 0.30% +0.27%
2 2025-11-21 0.05% 0.03% -0.03%
3 2025-11-18 0.05%

Full EPSS history (6 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2024-4030

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
7.1 3.1 HIGH
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N Click to expand
Attack vector (AV:L)
They already need access on the box, or another person has to do something wrong; it’s not a remote drive-by.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:L)
A normal user session is enough; they don’t have to be admin.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:N)
Service keeps running; no real outage angle.
1.8 5.2 134c704f-9b21-4f2e-91b3-4a467353bcc0

Weakness enumeration for CVE-2024-4030

OS Trackers for CVE-2024-4030

vendor priority summary link
debian unimportant CVE-2024-4030 unimportant priority: Debian including 3 source packages (python2.7, python3.11, python3.9), 3 status rows across 2 suites (bookworm, bullseye): resolved 3. https://security-tracker.debian.org/tracker/CVE-2024-4030
suse medium https://www.suse.com/security/cve/CVE-2024-4030/
ubuntu medium CVE-2024-4030 medium priority: Ubuntu including 10 source packages (python2.7, python3.10, …), 59 status rows across 8 suites (bionic, focal, jammy, mantic, noble, trusty, upstream, xenial): DNE 31, not-affected 18, needs-triage 10. https://ubuntu.com/security/CVE-2024-4030

Affected software / configurations for CVE-2024-4030

Vendor Product Version Raw CPE
No affected products in dataset.

References for CVE-2024-4030

URL Tags
https://github.com/python/cpython/commit/35c799d79177b962ddace2fa068101465570a29a
https://github.com/python/cpython/commit/5130731c9e779b97d00a24f54cdce73ce9975dfd
https://github.com/python/cpython/commit/66f8bb76a15e64a1bb7688b177ed29e26230fdee
https://github.com/python/cpython/commit/6d0850c4c8188035643586ab4d8ec2468abd699e
https://github.com/python/cpython/commit/81939dad77001556c527485d31a2d0f4a759033e
https://github.com/python/cpython/commit/8ed546679524140d8282175411fd141fe7df070d
https://github.com/python/cpython/commit/91e3669e01245185569d09e9e6e11641282971ee
https://github.com/python/cpython/commit/94591dca510c796c7d40e9b4167ea56f2fdf28ca
https://github.com/python/cpython/commit/c8f868dc52f98011d0f9b459b6487920bfb0ac4d
https://github.com/python/cpython/commit/d86b49411753bf2c83291e3a14ae43fefded2f84
https://github.com/python/cpython/commit/e1dfa978b1ad210d551385ad8073ec6154f53763
https://github.com/python/cpython/commit/eb29e2f5905da93333d1ce78bc98b151e763ff46
https://github.com/python/cpython/issues/118486
https://mail.python.org/archives/list/[email protected]/thread/PRGS5OR3N3PNPT4BMV2VAGN5GMUI5636/
https://security.netapp.com/advisory/ntap-20240705-0005/
cvelogic Threat Intelligence