CVE-2026-12345
CPython: Race condition in tempfile.TemporaryDirectory cleanup allows deleting files outside the temporary directory
CVSS
5.9MediumExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.18%Chance of exploitation activity in the next 30 days, higher than 7% of CVEs. Scored 23 Oct 2026FIRST EPSS
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
The cleanup of tempfile.TemporaryDirectory is vulnerable to a race condition. An attacker who can modify the tree during cleanup can replace a directory with a symbolic link, causing files outside of the temporary directory to be deleted or have their permissions and file flags reset, with the privileges of the process performing the cleanup. Note that platforms where shutil.rmtree.avoids_symlink_attacks is false, remain affected, and file flags may still be reset outside of the tree on all platforms.
Text from CVE List
Affected versions 3
- CPythonaffected: all versions before 3.12.15CVE List
- CPythonaffected: 3.14.0 before 3.14.9CVE List
- CPythonaffected: 3.15.0a1 before 3.15.0rc3CVE List
References 7
- github.com/python/cpython/pull/157580Fixvia CVE List
- github.com/python/cpython/commit/5c20517a4fc56683efe63a7751020db9573f538dFixvia CVE List
- github.com/python/cpython/commit/458e7134a5af7f86aee9d21b51cf499b41aa4420Fixvia CVE List
- github.com/python/cpython/commit/e1f3590f155c6d66007e958c98c9d69316551993Fixvia CVE List
- github.com/python/cpython/commit/06ef3d43fdaf4da97af12fa694b4886092c4b970Fixvia CVE List
- github.com/python/cpython/commit/58ed0259cae509a19138795df302fe60b544dc74Fixvia CVE List
- github.com/python/cpython/issues/157579Referencevia CVE List