{"id":"CVE-2026-12345","aliases":["ALPINE-CVE-2026-12345","ALSA-2026:85239","ALSA-2026:89742","AZL-105684","AZL-105912","BELL-CVE-2026-12345","BIT-libpython-2026-12345","BIT-python-2026-12345","BIT-python-min-2026-12345","CLSA-2026-1791359868","CLSA-2026-1792794952","DEBIAN-CVE-2026-12345","EUVD-2026-89183","MGASA-2026-0565","PSF-2026-42","RHSA-2026:74870","RHSA-2026:74922","RHSA-2026:75119","RHSA-2026:85239","RLSA-2026:85239","RLSA-2026:89742","UBUNTU-CVE-2026-12345","openSUSE-SU-2026:12125-1"],"status":"published","title":"Race condition in tempfile.TemporaryDirectory cleanup allows deleting files outside the temporary directory","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.","severity":{"version":"4.0","score":5.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00344,"percentile":0.28287,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-59"],"published":"2026-09-29T17:46:01Z","modified":"2026-11-06T00:30:03Z","exploits":[{"source":"pocgithub","id":"zahidec0de/CVE-2026-12345-poc","title":"zahidec0de/CVE-2026-12345-poc","date":"2026-08-14","url":"https://github.com/zahidec0de/CVE-2026-12345-poc"}],"fixes":[{"ecosystem":"Alpine:v3.21","package":"python3","fixed_in":["3.12.16-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.22","package":"python3","fixed_in":["3.12.16-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.23","package":"python3","fixed_in":["3.12.16-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.24","package":"python3","fixed_in":["3.14.10-r0"],"sources":["osv"]},{"ecosystem":"Azure Linux:3","package":"python3","fixed_in":["3.12.16-1"],"sources":["osv"]},{"ecosystem":"Alpaquita:25","package":"python3","fixed_in":["3.12.15-r1"],"sources":["osv"]},{"ecosystem":"Alpaquita:stream","package":"python3","fixed_in":["3.14.8-r4"],"sources":["osv"]},{"ecosystem":"BellSoft Hardened Containers:25","package":"python3","fixed_in":["3.12.15-r1"],"sources":["osv"]},{"ecosystem":"BellSoft Hardened Containers:stream","package":"python3","fixed_in":["3.14.8-r4"],"sources":["osv"]},{"ecosystem":"Bitnami","package":"libpython","fixed_in":["3.12.16","3.13.18","3.14.9"],"sources":["osv"]},{"ecosystem":"Bitnami","package":"python","fixed_in":["3.12.16","3.13.18","3.14.9"],"sources":["osv"]},{"ecosystem":"Bitnami","package":"python-min","fixed_in":["3.12.16","3.13.18","3.14.9"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11","fixed_in":["3.11.2-2.el9_2.2.tuxcare.els36"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-debug","fixed_in":["3.11.2-2.el9_2.2.tuxcare.els36"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-devel","fixed_in":["3.11.2-2.el9_2.2.tuxcare.els36"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-idle","fixed_in":["3.11.2-2.el9_2.2.tuxcare.els36"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-libs","fixed_in":["3.11.2-2.el9_2.2.tuxcare.els36"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-test","fixed_in":["3.11.2-2.el9_2.2.tuxcare.els36"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-tkinter","fixed_in":["3.11.2-2.el9_2.2.tuxcare.els36"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python-unversioned-command","fixed_in":["3.9.16-1.el9_2.2.tuxcare.els40"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3","fixed_in":["3.9.16-1.el9_2.2.tuxcare.els40"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-debug","fixed_in":["3.9.16-1.el9_2.2.tuxcare.els40"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-devel","fixed_in":["3.9.16-1.el9_2.2.tuxcare.els40"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-idle","fixed_in":["3.9.16-1.el9_2.2.tuxcare.els40"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-libs","fixed_in":["3.9.16-1.el9_2.2.tuxcare.els40"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-test","fixed_in":["3.9.16-1.el9_2.2.tuxcare.els40"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-tkinter","fixed_in":["3.9.16-1.el9_2.2.tuxcare.els40"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"python3.14","fixed_in":["3.14.9-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"python3.15","fixed_in":["3.15.0~rc3-1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python-unversioned-command","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3-debug","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3-devel","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3-idle","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3-libs","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3-test","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3-tkinter","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.14","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-debug","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-devel","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-idle","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-libs","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-test","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-tkinter","fixed_in":["0:3.14.8-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.12","fixed_in":["0:3.12.15-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.12-debug","fixed_in":["0:3.12.15-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.12-devel","fixed_in":["0:3.12.15-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.12-idle","fixed_in":["0:3.12.15-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.12-libs","fixed_in":["0:3.12.15-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.12-test","fixed_in":["0:3.12.15-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.12-tkinter","fixed_in":["0:3.12.15-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.13","fixed_in":["0:3.13.16-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.13-debug","fixed_in":["0:3.13.16-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.13-devel","fixed_in":["0:3.13.16-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.13-freethreading","fixed_in":["0:3.13.16-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.13-freethreading-debug","fixed_in":["0:3.13.16-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.13-idle","fixed_in":["0:3.13.16-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.13-libs","fixed_in":["0:3.13.16-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.13-test","fixed_in":["0:3.13.16-1.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"python3.13-tkinter","fixed_in":["0:3.13.16-1.hum1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.21","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.16-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.22","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.16-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.23","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.16-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.24","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.14.10-r0"}]}]},{"source":"osv","ecosystem":"AlmaLinux:8","package":"platform-python","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.6.8-79.el8_10.alma.1"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:8","package":"platform-python-debug","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.6.8-79.el8_10.alma.1"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:8","package":"platform-python-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.6.8-79.el8_10.alma.1"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:8","package":"python3-idle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.6.8-79.el8_10.alma.1"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:8","package":"python3-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.6.8-79.el8_10.alma.1"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:8","package":"python3-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.6.8-79.el8_10.alma.1"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:8","package":"python3-tkinter","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.6.8-79.el8_10.alma.1"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:9","package":"python-unversioned-command","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.25-7.el9_8.6"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:9","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.25-7.el9_8.6"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:9","package":"python3-debug","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.25-7.el9_8.6"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:9","package":"python3-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.25-7.el9_8.6"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:9","package":"python3-idle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.25-7.el9_8.6"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:9","package":"python3-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.25-7.el9_8.6"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:9","package":"python3-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.25-7.el9_8.6"}]}],"bundled":3},{"source":"osv","ecosystem":"AlmaLinux:9","package":"python3-tkinter","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.25-7.el9_8.6"}]}],"bundled":3},{"source":"osv","ecosystem":"Azure Linux:3","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.16-1"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.16.1-11"}]}]},{"source":"osv","ecosystem":"Alpaquita:25","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.12.10-r1"},{"fixed":"3.12.15-r1"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.11.4-r0"},{"fixed":"3.14.8-r4"}]}]},{"source":"osv","ecosystem":"BellSoft Hardened Containers:25","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.12.10-r1"},{"fixed":"3.12.15-r1"}]}]},{"source":"osv","ecosystem":"BellSoft Hardened Containers:stream","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.11.4-r0"},{"fixed":"3.14.8-r4"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"libpython","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.12.16"},{"introduced":"3.13.0"},{"fixed":"3.13.18"},{"introduced":"3.14.0"},{"fixed":"3.14.9"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"python","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.12.16"},{"introduced":"3.13.0"},{"fixed":"3.13.18"},{"introduced":"3.14.0"},{"fixed":"3.14.9"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"python-min","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.12.16"},{"introduced":"3.13.0"},{"fixed":"3.13.18"},{"introduced":"3.14.0"},{"fixed":"3.14.9"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.11.2-2.el9_2.2.tuxcare.els36"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-debug","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.11.2-2.el9_2.2.tuxcare.els36"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.11.2-2.el9_2.2.tuxcare.els36"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-idle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.11.2-2.el9_2.2.tuxcare.els36"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.11.2-2.el9_2.2.tuxcare.els36"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.11.2-2.el9_2.2.tuxcare.els36"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3.11-tkinter","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.11.2-2.el9_2.2.tuxcare.els36"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python-unversioned-command","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.16-1.el9_2.2.tuxcare.els40"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.16-1.el9_2.2.tuxcare.els40"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-debug","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.16-1.el9_2.2.tuxcare.els40"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.16-1.el9_2.2.tuxcare.els40"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-idle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.16-1.el9_2.2.tuxcare.els40"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.16-1.el9_2.2.tuxcare.els40"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.16-1.el9_2.2.tuxcare.els40"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"python3-tkinter","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.16-1.el9_2.2.tuxcare.els40"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"pypy3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.3.11+dfsg-2","7.3.11+dfsg-2+deb12u1","7.3.11+dfsg-2+deb12u2","7.3.11+dfsg-2+deb12u3","7.3.12+dfsg-1","7.3.12~rc1+dfsg-1","7.3.12~rc2+dfsg-1","7.3.13+dfsg-1","7.3.14+dfsg-1","7.3.15+dfsg-1","7.3.16+dfsg-1","7.3.16+dfsg-2","7.3.17+dfsg-1","7.3.17+dfsg-2","7.3.17+dfsg-3","7.3.18+dfsg-1","7.3.18+dfsg-2","7.3.19+dfsg-1","7.3.19+dfsg-2","7.3.20+dfsg-1","7.3.20+dfsg-2","7.3.20+dfsg-3","7.3.20+dfsg-4","7.3.21+dfsg-1","7.3.21+dfsg-2","7.3.21+dfsg-3","7.3.21+dfsg-4","7.3.22+dfsg-1","7.3.23+dfsg-1","7.3.23+dfsg-2","8.0.0+dfsg-1","8.0.1+dfsg-1"]},{"source":"osv","ecosystem":"Debian:13","package":"pypy3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.3.19+dfsg-2","7.3.20+dfsg-1","7.3.20+dfsg-2","7.3.20+dfsg-3","7.3.20+dfsg-4","7.3.21+dfsg-1","7.3.21+dfsg-2","7.3.21+dfsg-3","7.3.21+dfsg-4","7.3.22+dfsg-1","7.3.23+dfsg-1","7.3.23+dfsg-2","8.0.0+dfsg-1","8.0.1+dfsg-1"]},{"source":"osv","ecosystem":"Debian:14","package":"pypy3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.3.19+dfsg-2","7.3.20+dfsg-1","7.3.20+dfsg-2","7.3.20+dfsg-3","7.3.20+dfsg-4","7.3.21+dfsg-1","7.3.21+dfsg-2","7.3.21+dfsg-3","7.3.21+dfsg-4","7.3.22+dfsg-1","7.3.23+dfsg-1","7.3.23+dfsg-2","8.0.0+dfsg-1","8.0.1+dfsg-1"]},{"source":"osv","ecosystem":"Debian:12","package":"python3.11","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.11.2-6","3.11.2-6+deb12u1","3.11.2-6+deb12u2","3.11.2-6+deb12u3","3.11.2-6+deb12u4","3.11.2-6+deb12u5","3.11.2-6+deb12u6","3.11.2-6+deb12u7","3.11.2-6+deb12u8","3.11.2-6+deb12u9","3.11.3-1","3.11.3-2","3.11.4-1","3.11.5-1","3.11.5-2","3.11.5-3","3.11.6-1","3.11.6-2","3.11.6-3","3.11.6-3~hurd.2","3.11.7-1","3.11.7-2","3.11.8-1","3.11.8-1.1~exp1","3.11.8-1.1~exp2","3.11.8-2","3.11.8-3","3.11.8-3+hurd.1","3.11.9-1"]},{"source":"osv","ecosystem":"Debian:13","package":"python3.13","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.13.11-1","3.13.12-1","3.13.14-1","3.13.15-1","3.13.18-1","3.13.5-2","3.13.5-2+deb13u1","3.13.5-2+deb13u2","3.13.5-2+deb13u3","3.13.5-2+deb13u4","3.13.5-2+deb13u5","3.13.6-1","3.13.7-1","3.13.8-1","3.13.9-1"]},{"source":"osv","ecosystem":"Debian:14","package":"python3.14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.14.9-1"}]}],"versions":["3.14.0-1","3.14.0-2","3.14.0-3","3.14.0-4","3.14.0-5","3.14.0~a7-1","3.14.0~b1-1","3.14.0~b2-1","3.14.0~b3-1","3.14.0~b4-1","3.14.0~rc1-1","3.14.0~rc2-1","3.14.0~rc3-1","3.14.2-1","3.14.3-1","3.14.3-2","3.14.3-3","3.14.3-4","3.14.3-5","3.14.4-1","3.14.4-2","3.14.5-1","3.14.5~rc1-1","3.14.6-1","3.14.7-1","3.14.7-2","3.14.7-3","3.14.7-4","3.14.7-5","3.14.8-1"]},{"source":"osv","ecosystem":"Debian:14","package":"python3.15","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.15.0~rc3-1"}]}],"versions":["3.15.0~a8-1","3.15.0~a8-2","3.15.0~b1-1","3.15.0~b1-2","3.15.0~b1-3","3.15.0~b2-1","3.15.0~b3-1","3.15.0~b4-1","3.15.0~rc1-1","3.15.0~rc2-1","3.15.0~rc2-2","3.15.0~rc2-3"]},{"source":"osv","ecosystem":"Mageia:10","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.13.17-1.mga10"}]}],"bundled":4},{"source":"osv","ecosystem":"Mageia:10","package":"python-pip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"26.2.2-1.mga10"}]}],"bundled":4},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python-unversioned-command","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3-debug","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3-idle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3-tkinter","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-debug","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-idle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.14-freethreading-tkinter","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.14.8-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.12","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.12.15-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.12-debug","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.12.15-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.12-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.12.15-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.12-idle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.12.15-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.12-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.12.15-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.12-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.12.15-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.12-tkinter","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.12.15-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.13","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.13.16-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.13-debug","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.13.16-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.13-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.13.16-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.13-freethreading","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.13.16-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.13-freethreading-debug","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.13.16-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.13-idle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.13.16-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.13-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.13.16-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.13-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.13.16-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"python3.13-tkinter","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.13.16-1.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"platform-python","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"platform-python-debug","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"platform-python-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python3-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python3-debugsource","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python3-idle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python3-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::appstream","package":"python3-tkinter","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::baseos","package":"platform-python","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::baseos","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::baseos","package":"python3-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::baseos","package":"python3-debugsource","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::baseos","package":"python3-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:8::baseos","package":"python3-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10"}]}],"bundled":3},{"source":"osv","ecosystem":"Rocky Linux:8","package":"python3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.6.8-79.el8_10.rocky.0"}]}],"bundled":3},{"source":"osv","ecosystem":"Rocky Linux:9","package":"python3.9","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.9.25-7.el9_8.6"}]}],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"python2.7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.5-8ubuntu3","2.7.5-8ubuntu4","2.7.6-2","2.7.6-2ubuntu1","2.7.6-3","2.7.6-3ubuntu1","2.7.6-4","2.7.6-4ubuntu1","2.7.6-5","2.7.6-7","2.7.6-8","2.7.6-8ubuntu0.2","2.7.6-8ubuntu0.3","2.7.6-8ubuntu0.4","2.7.6-8ubuntu0.5","2.7.6-8ubuntu0.6+esm2","2.7.6-8ubuntu0.6+esm3","2.7.6-8ubuntu0.6+esm5","2.7.6-8ubuntu0.6+esm6","2.7.6-8ubuntu0.6+esm7","2.7.6-8ubuntu0.6+esm8","2.7.6-8ubuntu0.6+esm9","2.7.6-8ubuntu0.6+esm10","2.7.6-8ubuntu0.6+esm11","2.7.6-8ubuntu0.6+esm12","2.7.6-8ubuntu0.6+esm13","2.7.6-8ubuntu0.6+esm14","2.7.6-8ubuntu0.6+esm15","2.7.6-8ubuntu0.6+esm16","2.7.6-8ubuntu0.6+esm17","2.7.6-8ubuntu0.6+esm18","2.7.6-8ubuntu0.6+esm20","2.7.6-8ubuntu0.6+esm21","2.7.6-8ubuntu0.6+esm22","2.7.6-8ubuntu0.6+esm24","2.7.6-8ubuntu0.6+esm25","2.7.6-8ubuntu0.6+esm26","2.7.6-8ubuntu0.6+esm28","2.7.6-8ubuntu0.6+esm29","2.7.6-8ubuntu0.6+esm30"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"python3.4","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.4~b1-0ubuntu3","3.4~b1-4ubuntu4","3.4~b1-4ubuntu6","3.4~b1-5ubuntu2","3.4~b2-1","3.4~b3-1ubuntu1","3.4~rc1-1build1","3.4~rc2-1","3.4~rc3-0ubuntu1","3.4.0-1","3.4.0-2ubuntu1","3.4.0-2ubuntu1.1","3.4.3-1ubuntu1~14.04.1","3.4.3-1ubuntu1~14.04.3","3.4.3-1ubuntu1~14.04.4","3.4.3-1ubuntu1~14.04.5","3.4.3-1ubuntu1~14.04.6","3.4.3-1ubuntu1~14.04.7","3.4.3-1ubuntu1~14.04.7+esm2","3.4.3-1ubuntu1~14.04.7+esm4","3.4.3-1ubuntu1~14.04.7+esm6","3.4.3-1ubuntu1~14.04.7+esm7","3.4.3-1ubuntu1~14.04.7+esm8","3.4.3-1ubuntu1~14.04.7+esm10","3.4.3-1ubuntu1~14.04.7+esm11","3.4.3-1ubuntu1~14.04.7+esm12","3.4.3-1ubuntu1~14.04.7+esm13","3.4.3-1ubuntu1~14.04.7+esm14","3.4.3-1ubuntu1~14.04.7+esm15","3.4.3-1ubuntu1~14.04.7+esm16","3.4.3-1ubuntu1~14.04.7+esm17","3.4.3-1ubuntu1~14.04.7+esm19","3.4.3-1ubuntu1~14.04.7+esm20","3.4.3-1ubuntu1~14.04.7+esm21"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"python3.5","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.5.2-2ubuntu0~16.04.4~14.04.1","3.5.2-2ubuntu0~16.04.4~14.04.1+esm1","3.5.2-2ubuntu0~16.04.4~14.04.1+esm3","3.5.2-2ubuntu0~16.04.4~14.04.1+esm4","3.5.2-2ubuntu0~16.04.4~14.04.1+esm5","3.5.2-2ubuntu0~16.04.4~14.04.1+esm6","3.5.2-2ubuntu0~16.04.4~14.04.1+esm7","3.5.2-2ubuntu0~16.04.4~14.04.1+esm8","3.5.2-2ubuntu0~16.04.4~14.04.1+esm9","3.5.2-2ubuntu0~16.04.4~14.04.1+esm10","3.5.2-2ubuntu0~16.04.4~14.04.1+esm11"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"python2.7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.10-4ubuntu1","2.7.10-4ubuntu2","2.7.11-2","2.7.11-3","2.7.11-4","2.7.11-6","2.7.11-7","2.7.11-7ubuntu1","2.7.12-1~16.04","2.7.12-1ubuntu0~16.04.1","2.7.12-1ubuntu0~16.04.2","2.7.12-1ubuntu0~16.04.3","2.7.12-1ubuntu0~16.04.4","2.7.12-1ubuntu0~16.04.8","2.7.12-1ubuntu0~16.04.9","2.7.12-1ubuntu0~16.04.11","2.7.12-1ubuntu0~16.04.12","2.7.12-1ubuntu0~16.04.13","2.7.12-1ubuntu0~16.04.14","2.7.12-1ubuntu0~16.04.16","2.7.12-1ubuntu0~16.04.18","2.7.12-1ubuntu0~16.04.18+esm1","2.7.12-1ubuntu0~16.04.18+esm2","2.7.12-1ubuntu0~16.04.18+esm3","2.7.12-1ubuntu0~16.04.18+esm4","2.7.12-1ubuntu0~16.04.18+esm5","2.7.12-1ubuntu0~16.04.18+esm6","2.7.12-1ubuntu0~16.04.18+esm7","2.7.12-1ubuntu0~16.04.18+esm8","2.7.12-1ubuntu0~16.04.18+esm9","2.7.12-1ubuntu0~16.04.18+esm10","2.7.12-1ubuntu0~16.04.18+esm11","2.7.12-1ubuntu0~16.04.18+esm12","2.7.12-1ubuntu0~16.04.18+esm13","2.7.12-1ubuntu0~16.04.18+esm15","2.7.12-1ubuntu0~16.04.18+esm16","2.7.12-1ubuntu0~16.04.18+esm17","2.7.12-1ubuntu0~16.04.18+esm18","2.7.12-1ubuntu0~16.04.18+esm19","2.7.12-1ubuntu0~16.04.18+esm20","2.7.12-1ubuntu0~16.04.18+esm21","2.7.12-1ubuntu0~16.04.18+esm22"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"python3.5","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.5.0-3","3.5.0-3ubuntu1","3.5.1~rc1-2ubuntu1","3.5.1-1","3.5.1-2","3.5.1-3","3.5.1-5","3.5.1-6ubuntu1","3.5.1-6ubuntu2","3.5.1-9ubuntu1","3.5.1-10","3.5.2-2~16.01","3.5.2-2~16.04","3.5.2-2ubuntu0~16.04.1","3.5.2-2ubuntu0~16.04.2","3.5.2-2ubuntu0~16.04.3","3.5.2-2ubuntu0~16.04.4","3.5.2-2ubuntu0~16.04.5","3.5.2-2ubuntu0~16.04.8","3.5.2-2ubuntu0~16.04.9","3.5.2-2ubuntu0~16.04.10","3.5.2-2ubuntu0~16.04.11","3.5.2-2ubuntu0~16.04.12","3.5.2-2ubuntu0~16.04.13","3.5.2-2ubuntu0~16.04.13+esm1","3.5.2-2ubuntu0~16.04.13+esm2","3.5.2-2ubuntu0~16.04.13+esm3","3.5.2-2ubuntu0~16.04.13+esm5","3.5.2-2ubuntu0~16.04.13+esm6","3.5.2-2ubuntu0~16.04.13+esm7","3.5.2-2ubuntu0~16.04.13+esm8","3.5.2-2ubuntu0~16.04.13+esm9","3.5.2-2ubuntu0~16.04.13+esm10","3.5.2-2ubuntu0~16.04.13+esm11","3.5.2-2ubuntu0~16.04.13+esm12","3.5.2-2ubuntu0~16.04.13+esm13","3.5.2-2ubuntu0~16.04.13+esm14","3.5.2-2ubuntu0~16.04.13+esm15","3.5.2-2ubuntu0~16.04.13+esm16","3.5.2-2ubuntu0~16.04.13+esm17","3.5.2-2ubuntu0~16.04.13+esm18","3.5.2-2ubuntu0~16.04.13+esm19","3.5.2-2ubuntu0~16.04.13+esm20","3.5.2-2ubuntu0~16.04.13+esm21","3.5.2-2ubuntu0~16.04.13+esm22","3.5.2-2ubuntu0~16.04.13+esm23","3.5.2-2ubuntu0~16.04.13+esm24","3.5.2-2ubuntu0~16.04.13+esm25"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"python2.7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.14-2ubuntu2","2.7.14-4","2.7.14-6","2.7.14-7","2.7.14-8","2.7.15~rc1-1","2.7.15~rc1-1ubuntu0.1","2.7.15-4ubuntu4~18.04","2.7.15-4ubuntu4~18.04.1","2.7.15-4ubuntu4~18.04.2","2.7.17-1~18.04","2.7.17-1~18.04ubuntu1","2.7.17-1~18.04ubuntu1.1","2.7.17-1~18.04ubuntu1.2","2.7.17-1~18.04ubuntu1.3","2.7.17-1~18.04ubuntu1.5","2.7.17-1~18.04ubuntu1.6","2.7.17-1~18.04ubuntu1.7","2.7.17-1~18.04ubuntu1.8","2.7.17-1~18.04ubuntu1.10","2.7.17-1~18.04ubuntu1.11","2.7.17-1~18.04ubuntu1.13","2.7.17-1~18.04ubuntu1.13+esm1","2.7.17-1~18.04ubuntu1.13+esm2","2.7.17-1~18.04ubuntu1.13+esm3","2.7.17-1~18.04ubuntu1.13+esm4","2.7.17-1~18.04ubuntu1.13+esm5","2.7.17-1~18.04ubuntu1.13+esm6","2.7.17-1~18.04ubuntu1.13+esm7","2.7.17-1~18.04ubuntu1.13+esm8","2.7.17-1~18.04ubuntu1.13+esm10","2.7.17-1~18.04ubuntu1.13+esm11","2.7.17-1~18.04ubuntu1.13+esm12","2.7.17-1~18.04ubuntu1.13+esm13","2.7.17-1~18.04ubuntu1.13+esm14","2.7.17-1~18.04ubuntu1.13+esm15"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"python3.6","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.6.3-1ubuntu1","3.6.4~rc1-1","3.6.4~rc1-2","3.6.4-1","3.6.4-2","3.6.4-3build1","3.6.4-4","3.6.5~rc1-1","3.6.5-3","3.6.6-1~18.04","3.6.7-1~18.04","3.6.8-1~18.04.1","3.6.8-1~18.04.2","3.6.8-1~18.04.3","3.6.9-1~18.04","3.6.9-1~18.04ubuntu1","3.6.9-1~18.04ubuntu1.1","3.6.9-1~18.04ubuntu1.3","3.6.9-1~18.04ubuntu1.4","3.6.9-1~18.04ubuntu1.6","3.6.9-1~18.04ubuntu1.7","3.6.9-1~18.04ubuntu1.8","3.6.9-1~18.04ubuntu1.9","3.6.9-1~18.04ubuntu1.10","3.6.9-1~18.04ubuntu1.12","3.6.9-1~18.04ubuntu1.13","3.6.9-1~18.04ubuntu1.13+esm1","3.6.9-1~18.04ubuntu1.13+esm2","3.6.9-1~18.04ubuntu1.13+esm3","3.6.9-1~18.04ubuntu1.13+esm4","3.6.9-1~18.04ubuntu1.13+esm5","3.6.9-1~18.04ubuntu1.13+esm6","3.6.9-1~18.04ubuntu1.13+esm7","3.6.9-1~18.04ubuntu1.13+esm8","3.6.9-1~18.04ubuntu1.13+esm9","3.6.9-1~18.04ubuntu1.13+esm10"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"python3.7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.7.0~a2-1","3.7.0~a3-1","3.7.0~a3-2","3.7.0~a3-3","3.7.0~a4-1","3.7.0~b1-1","3.7.0~b1-1build1","3.7.0~b2-1","3.7.0~b3-1","3.7.0-1~18.04","3.7.1-1~18.04","3.7.3-2~18.04.1","3.7.5-2~18.04","3.7.5-2~18.04.4","3.7.5-2ubuntu1~18.04.2","3.7.5-2ubuntu1~18.04.2+esm1","3.7.5-2ubuntu1~18.04.2+esm2","3.7.5-2ubuntu1~18.04.2+esm3","3.7.5-2ubuntu1~18.04.2+esm4","3.7.5-2ubuntu1~18.04.2+esm5","3.7.5-2ubuntu1~18.04.2+esm6","3.7.5-2ubuntu1~18.04.2+esm7","3.7.5-2ubuntu1~18.04.2+esm8","3.7.5-2ubuntu1~18.04.2+esm9","3.7.5-2ubuntu1~18.04.2+esm10","3.7.5-2ubuntu1~18.04.2+esm11"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"python3.8","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.8.0-3~18.04","3.8.0-3~18.04.1","3.8.0-3ubuntu1~18.04.2","3.8.0-3ubuntu1~18.04.2+esm1","3.8.0-3ubuntu1~18.04.2+esm2","3.8.0-3ubuntu1~18.04.2+esm3","3.8.0-3ubuntu1~18.04.2+esm4","3.8.0-3ubuntu1~18.04.2+esm5","3.8.0-3ubuntu1~18.04.2+esm6","3.8.0-3ubuntu1~18.04.2+esm7","3.8.0-3ubuntu1~18.04.2+esm8","3.8.0-3ubuntu1~18.04.2+esm9","3.8.0-3ubuntu1~18.04.2+esm10","3.8.0-3ubuntu1~18.04.2+esm11"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"python3.8","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.8.0-1","3.8.0-2","3.8.0-3","3.8.0-4","3.8.0-5","3.8.1-2ubuntu3","3.8.2~rc1-1ubuntu1","3.8.2-1","3.8.2-1ubuntu1","3.8.2-1ubuntu1.1","3.8.2-1ubuntu1.2","3.8.5-1~20.04","3.8.5-1~20.04.2","3.8.5-1~20.04.3","3.8.10-0ubuntu1~20.04","3.8.10-0ubuntu1~20.04.1","3.8.10-0ubuntu1~20.04.2","3.8.10-0ubuntu1~20.04.4","3.8.10-0ubuntu1~20.04.5","3.8.10-0ubuntu1~20.04.6","3.8.10-0ubuntu1~20.04.7","3.8.10-0ubuntu1~20.04.8","3.8.10-0ubuntu1~20.04.9","3.8.10-0ubuntu1~20.04.10","3.8.10-0ubuntu1~20.04.11","3.8.10-0ubuntu1~20.04.12","3.8.10-0ubuntu1~20.04.13","3.8.10-0ubuntu1~20.04.14","3.8.10-0ubuntu1~20.04.15","3.8.10-0ubuntu1~20.04.16","3.8.10-0ubuntu1~20.04.17","3.8.10-0ubuntu1~20.04.18","3.8.10-0ubuntu1~20.04.18+esm1","3.8.10-0ubuntu1~20.04.18+esm2","3.8.10-0ubuntu1~20.04.18+esm3","3.8.10-0ubuntu1~20.04.18+esm4","3.8.10-0ubuntu1~20.04.18+esm5","3.8.10-0ubuntu1~20.04.18+esm6","3.8.10-0ubuntu1~20.04.18+esm7"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"python2.7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.17~rc1-1","2.7.17-1","2.7.17-1ubuntu5","2.7.17-1ubuntu6","2.7.18~rc1-2","2.7.18-1~20.04","2.7.18-1~20.04.1","2.7.18-1~20.04.1+esm1","2.7.18-1~20.04.3","2.7.18-1~20.04.3+esm1","2.7.18-1~20.04.4","2.7.18-1~20.04.4+esm1","2.7.18-1~20.04.4+esm2","2.7.18-1~20.04.4+esm3","2.7.18-1~20.04.5","2.7.18-1~20.04.5+esm1","2.7.18-1~20.04.5+esm2","2.7.18-1~20.04.6","2.7.18-1~20.04.6+esm1","2.7.18-1~20.04.7","2.7.18-1~20.04.7+esm3","2.7.18-1~20.04.7+esm4","2.7.18-1~20.04.7+esm6","2.7.18-1~20.04.7+esm7","2.7.18-1~20.04.7+esm8","2.7.18-1~20.04.7+esm9","2.7.18-1~20.04.7+esm10"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"python3.9","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.9.0~rc1-1~20.04","3.9.0-5~20.04","3.9.5-3~20.04.1","3.9.5-3ubuntu0~20.04.1","3.9.5-3ubuntu0~20.04.1+esm1","3.9.5-3ubuntu0~20.04.1+esm2","3.9.5-3ubuntu0~20.04.1+esm3","3.9.5-3ubuntu0~20.04.1+esm4","3.9.5-3ubuntu0~20.04.1+esm5","3.9.5-3ubuntu0~20.04.1+esm6","3.9.5-3ubuntu0~20.04.1+esm7","3.9.5-3ubuntu0~20.04.1+esm8","3.9.5-3ubuntu0~20.04.1+esm9","3.9.5-3ubuntu0~20.04.1+esm10","3.9.5-3ubuntu0~20.04.1+esm11"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"python3.10","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.10.0-2","3.10.0-3","3.10.0-4","3.10.0-5","3.10.0-5build1","3.10.1-1","3.10.1-2","3.10.2-1","3.10.2-5","3.10.2-7","3.10.3-1","3.10.4-3","3.10.4-3ubuntu0.1","3.10.6-1~22.04","3.10.6-1~22.04.1","3.10.6-1~22.04.2","3.10.6-1~22.04.2ubuntu1","3.10.6-1~22.04.2ubuntu1.1","3.10.12-1~22.04.2","3.10.12-1~22.04.3","3.10.12-1~22.04.4","3.10.12-1~22.04.5","3.10.12-1~22.04.6","3.10.12-1~22.04.7","3.10.12-1~22.04.8","3.10.12-1~22.04.9","3.10.12-1~22.04.10","3.10.12-1~22.04.11","3.10.12-1~22.04.12","3.10.12-1~22.04.13","3.10.12-1~22.04.14","3.10.12-1~22.04.15","3.10.12-1~22.04.16","3.10.12-1~22.04.17","3.10.12-1~22.04.18"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"python2.7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.18-8build1","2.7.18-13","2.7.18-13ubuntu1","2.7.18-13ubuntu1.1","2.7.18-13ubuntu1.1+esm2","2.7.18-13ubuntu1.2","2.7.18-13ubuntu1.2+esm1","2.7.18-13ubuntu1.2+esm2","2.7.18-13ubuntu1.2+esm3","2.7.18-13ubuntu1.3","2.7.18-13ubuntu1.3+esm1","2.7.18-13ubuntu1.4","2.7.18-13ubuntu1.4+esm1","2.7.18-13ubuntu1.5","2.7.18-13ubuntu1.5+esm2","2.7.18-13ubuntu1.5+esm3","2.7.18-13ubuntu1.5+esm5","2.7.18-13ubuntu1.5+esm6","2.7.18-13ubuntu1.5+esm7","2.7.18-13ubuntu1.5+esm8","2.7.18-13ubuntu1.5+esm9"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"python3.11","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.11.0~rc1-1~22.04","3.11.0~rc1-1~22.04.1~esm1","3.11.0~rc1-1~22.04.1~esm2","3.11.0~rc1-1~22.04.1~esm3","3.11.0~rc1-1~22.04.1~esm4","3.11.0~rc1-1~22.04.1~esm5","3.11.0~rc1-1~22.04.1~esm6","3.11.0~rc1-1~22.04.1~esm7","3.11.0~rc1-1~22.04.1~esm8","3.11.0~rc1-1~22.04.1~esm9","3.11.0~rc1-1~22.04.1","3.11.0~rc1-1~22.04.1+esm1","3.11.0~rc1-1~22.04.1+esm2"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"python3.12","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.12.0-1","3.12.0-5","3.12.0-6","3.12.0-7","3.12.1-2","3.12.2-1","3.12.2-4build3","3.12.2-4build4","3.12.2-5ubuntu3","3.12.3-1","3.12.3-1ubuntu0.1","3.12.3-1ubuntu0.2","3.12.3-1ubuntu0.3","3.12.3-1ubuntu0.4","3.12.3-1ubuntu0.5","3.12.3-1ubuntu0.6","3.12.3-1ubuntu0.7","3.12.3-1ubuntu0.8","3.12.3-1ubuntu0.9","3.12.3-1ubuntu0.10","3.12.3-1ubuntu0.11","3.12.3-1ubuntu0.12","3.12.3-1ubuntu0.13","3.12.3-1ubuntu0.15","3.12.3-1ubuntu0.16","3.12.3-1ubuntu0.17"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"python3.14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.14.4-1","3.14.6-1","3.14.7-1ubuntu1","3.14.7-4ubuntu1","3.14.7-4ubuntu2","3.14.7-5ubuntu1","3.14.8-1ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"python3.14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.14.0-1","3.14.0-2","3.14.0-4","3.14.2-1","3.14.3-1","3.14.3-2","3.14.3-3","3.14.3-5","3.14.4-1","3.14.4-1ubuntu0.1","3.14.4-1ubuntu0.2"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"python315","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.15.0-1.1"}]}],"bundled":2}],"products":[{"vendor":"python software foundation","product":"cpython"}],"references":[{"url":"https://github.com/python/cpython/pull/157580","tags":["patch","web","fix","article","report"]},{"url":"https://github.com/python/cpython/issues/157579","tags":["issue-tracking","web","report","article"]},{"url":"https://github.com/python/cpython/commit/5c20517a4fc56683efe63a7751020db9573f538d","tags":["patch","web","fix","article","report"]},{"url":"https://github.com/python/cpython/commit/458e7134a5af7f86aee9d21b51cf499b41aa4420","tags":["patch","web","fix"]},{"url":"https://github.com/python/cpython/commit/e1f3590f155c6d66007e958c98c9d69316551993","tags":["patch","web","fix"]},{"url":"https://github.com/python/cpython/commit/06ef3d43fdaf4da97af12fa694b4886092c4b970","tags":["patch","web","fix"]},{"url":"https://github.com/python/cpython/commit/58ed0259cae509a19138795df302fe60b544dc74","tags":["patch","web","fix"]},{"url":"https://github.com/python/cpython/commit/0478b52788117db4b831b3efd648f56b777628aa","tags":["patch","web","fix"]},{"url":"https://github.com/python/cpython/commit/c39b52d00b42200aaadff679e2fe3f1006d57c58","tags":["patch","web","fix"]},{"url":"http://www.openwall.com/lists/oss-security/2026/09/29/40","tags":["web","report"]},{"url":"https://security.alpinelinux.org/vuln/CVE-2026-12345","tags":["advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2026:85239","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-12345","tags":["report"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-19445","tags":["report"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-19553","tags":["report"]},{"url":"https://bugzilla.redhat.com/2543492","tags":["report"]},{"url":"https://bugzilla.redhat.com/2544127","tags":["report"]},{"url":"https://bugzilla.redhat.com/2544138","tags":["report"]},{"url":"https://errata.almalinux.org/8/ALSA-2026-85239.html","tags":["advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2026:89742","tags":["advisory"]},{"url":"https://errata.almalinux.org/9/ALSA-2026-89742.html","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-12345","tags":["web","advisory"]},{"url":"https://docs.bell-sw.com/security/cves/CVE-2026-12345","tags":["advisory"]},{"url":"https://errata.tuxcare.com/els_os/almalinux9.2esu/CLSA-2026-1791359868.html","tags":["advisory"]},{"url":"https://errata.tuxcare.com/els_os/almalinux9.2esu/CLSA-2026-1792794952.html","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/12xxx/CVE-2026-12345.json","tags":["advisory"]},{"url":"https://github.com/python/cpython","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-12345","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0565.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=36420","tags":["report"]},{"url":"https://www.openwall.com/lists/oss-security/2026/09/29/40","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2026/09/30/16","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2026/09/30/17","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2026/10/22/33","tags":["web"]},{"url":"https://access.redhat.com/errata/RHSA-2026:74870","tags":["advisory"]},{"url":"https://images.redhat.com/","tags":["article"]},{"url":"https://access.redhat.com/security/updates/classification/","tags":["article"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_74870.json","tags":["advisory"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2543492","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-12345","tags":["advisory","report"]},{"url":"https://access.redhat.com/errata/RHSA-2026:74922","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_74922.json","tags":["advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2026:75119","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_75119.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/updates/classification/#important","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2544127","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2544138","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_85239.json","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-19445","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-19445","tags":["advisory"]},{"url":"https://github.com/python/cpython/issues/156293","tags":["article"]},{"url":"https://github.com/python/cpython/pull/158504","tags":["article"]},{"url":"https://mail.python.org/archives/list/security-announce@python.org/thread/QMQIUQB6WGGC3MI7I3WKQXOYOBDSPPS3/","tags":["article"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-19553","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-19553","tags":["advisory"]},{"url":"https://github.com/python/cpython/issues/156793","tags":["article"]},{"url":"https://github.com/python/cpython/pull/158503","tags":["article"]},{"url":"https://mail.python.org/archives/list/security-announce@python.org/thread/QNZRG3YOAMTHDCMVCICXGY6YEFPY2VDL/","tags":["article"]},{"url":"https://errata.rockylinux.org/RLSA-2026:85239","tags":["advisory"]},{"url":"https://errata.rockylinux.org/RLSA-2026:89742","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-12345","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-12345","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-87910","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-12345","title":"Race condition in tempfile.TemporaryDirectory cleanup allows deleting files outside the temporary directory","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.","status":"published","published":"2026-09-29T17:46:01.811Z","modified":"2026-10-26T00:36:23.425Z","cvss":[{"version":"4.0","score":5.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N","level":"medium","assessor":"cna"}],"cwes":["CWE-59"],"updated_at":"2026-11-02T14:19:48.461833Z"}],"euvd":[{"id":"EUVD-2026-89183","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.","status":"published","published":"2026-09-29T17:46:01Z","modified":"2026-10-26T00:36:23Z","cvss":[{"version":"4.0","score":5.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N","level":"medium"}],"updated_at":"2026-11-02T16:59:30.708699Z"}],"nvd":[{"id":"CVE-2026-12345","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.","status":"published","published":"2026-09-29T18:17:14.707Z","modified":"2026-10-26T01:17:15.94Z","cvss":[{"version":"4.0","score":5.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium","assessor":"secondary"}],"cwes":["CWE-59"],"updated_at":"2026-11-02T14:12:52.413234Z"}],"osv":[{"id":"ALPINE-CVE-2026-12345","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.","status":"published","published":"2026-09-29T18:17:14.707Z","modified":"2026-11-06T00:30:03.011381643Z","cvss":[{"version":"4.0","score":5.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium"}],"updated_at":"2026-11-06T01:02:32.613973Z"},{"id":"CVE-2026-12345","title":"Race condition in tempfile.TemporaryDirectory cleanup allows deleting files outside the temporary directory","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.","status":"published","published":"2026-09-29T17:46:01.811Z","modified":"2026-11-11T10:47:24.904679195Z","cvss":[{"version":"4.0","score":5.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N","level":"medium"}],"updated_at":"2026-11-10T10:57:25.458985Z"},{"id":"DEBIAN-CVE-2026-12345","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.","status":"published","published":"2026-09-29T18:17:14.707Z","modified":"2026-11-02T12:00:18.583501677Z","cvss":[{"version":"4.0","score":5.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium"}],"updated_at":"2026-11-02T15:45:51.374409Z"},{"id":"RHSA-2026:74870","title":"Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update","status":"published","published":"2026-10-04T10:08:47Z","modified":"2026-10-20T10:15:44Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H","level":"medium"}],"updated_at":"2026-11-02T15:53:22.928316Z"},{"id":"RHSA-2026:74922","title":"Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update","status":"published","published":"2026-10-03T10:17:02Z","modified":"2026-10-20T10:15:44Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H","level":"medium"}],"updated_at":"2026-11-02T15:53:22.928316Z"},{"id":"RHSA-2026:75119","title":"Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update","status":"published","published":"2026-10-04T10:08:48Z","modified":"2026-10-20T10:15:47Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H","level":"medium"}],"updated_at":"2026-11-02T15:53:22.928316Z"},{"id":"RHSA-2026:85239","title":"Red Hat Security Advisory: python3 security update","status":"published","published":"2026-10-20T10:18:01Z","modified":"2026-10-20T10:32:24.534057134Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:23.547034Z"},{"id":"RLSA-2026:85239","title":"Important: python3 security update","description":"Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.\n\nSecurity Fix(es):\n\n* python: python: Arbitrary file deletion via race condition during temporary directory cleanup (CVE-2026-12345)\n\n* python: python: Certificate verification bypass via missing server_hostname validation in SSLContext.wrap_bio() (CVE-2026-19553)\n\n* python: Use-after-free of a server-side SSLContext when sni_callback switches contexts (CVE-2026-19445)\n\nFor more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.","status":"published","published":"2026-10-21T06:37:12.817086Z","modified":"2026-10-21T07:15:10.777884989Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:26.76659Z"},{"id":"RLSA-2026:89742","title":"Important: python3.9 security update","description":"Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.\n\nSecurity Fix(es):\n\n* python: python: Arbitrary file deletion via race condition during temporary directory cleanup (CVE-2026-12345)\n\n* python: python: Certificate verification bypass via missing server_hostname validation in SSLContext.wrap_bio() (CVE-2026-19553)\n\n* python: Use-after-free of a server-side SSLContext when sni_callback switches contexts (CVE-2026-19445)\n\nFor more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.","status":"published","published":"2026-10-27T12:04:29.081572Z","modified":"2026-10-27T12:30:03.123540897Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:26.76659Z"},{"id":"UBUNTU-CVE-2026-12345","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.","status":"published","published":"2026-09-29T18:17:00Z","modified":"2026-10-17T12:58:05.044562002Z","cvss":[{"version":"4.0","score":5.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N","level":"medium"}],"updated_at":"2026-11-02T16:56:00.592716Z"},{"id":"ALSA-2026:85239","title":"Important: python3 security update","description":"Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.  \n\nSecurity Fix(es):  \n\n  * python: python: Arbitrary file deletion via race condition during temporary directory cleanup (CVE-2026-12345)\n  * python: python: Certificate verification bypass via missing server_hostname validation in SSLContext.wrap_bio() (CVE-2026-19553)\n  * python: Use-after-free of a server-side SSLContext when sni_callback switches contexts (CVE-2026-19445)\n\n\nFor more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.\n","status":"published","published":"2026-10-19T00:00:00Z","modified":"2026-10-29T11:02:25.334597248Z","updated_at":"2026-11-02T15:27:55.200553Z"},{"id":"ALSA-2026:89742","title":"Important: python3.9 security update","description":"Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.  \n\nSecurity Fix(es):  \n\n  * python: python: Arbitrary file deletion via race condition during temporary directory cleanup (CVE-2026-12345)\n  * python: python: Certificate verification bypass via missing server_hostname validation in SSLContext.wrap_bio() (CVE-2026-19553)\n  * python: Use-after-free of a server-side SSLContext when sni_callback switches contexts (CVE-2026-19445)\n\n\nFor more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.\n","status":"published","published":"2026-10-26T00:00:00Z","modified":"2026-10-29T11:32:32.793307452Z","updated_at":"2026-11-02T15:27:57.367731Z"},{"id":"AZL-105684","title":"CVE-2026-12345 affecting package python3 for versions less than 3.12.16-1","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.","status":"published","published":"2026-09-29T18:17:14Z","modified":"2026-11-02T14:16:34.457243042Z","updated_at":"2026-11-02T15:28:01.09948Z"},{"id":"AZL-105912","title":"CVE-2026-12345 affecting package tensorflow 2.16.1-11","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.","status":"published","published":"2026-09-29T18:17:14Z","modified":"2026-10-15T05:37:09Z","updated_at":"2026-11-02T15:28:01.09948Z"},{"id":"BELL-CVE-2026-12345","status":"published","published":"2026-09-30T06:05:11.88361Z","modified":"2026-10-15T07:15:02.187692255Z","updated_at":"2026-11-02T15:28:23.037038Z"},{"id":"BIT-libpython-2026-12345","title":"Race condition in tempfile.TemporaryDirectory cleanup allows deleting files outside the temporary directory","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.","status":"published","published":"2026-10-05T11:47:53.804Z","modified":"2026-10-29T12:45:02.601741777Z","updated_at":"2026-11-02T15:28:32.162822Z"},{"id":"BIT-python-2026-12345","title":"Race condition in tempfile.TemporaryDirectory cleanup allows deleting files outside the temporary directory","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.","status":"published","published":"2026-10-05T11:56:26.851Z","modified":"2026-10-29T12:45:02.633700269Z","updated_at":"2026-11-02T15:28:34.724063Z"},{"id":"BIT-python-min-2026-12345","title":"Race condition in tempfile.TemporaryDirectory cleanup allows deleting files outside the temporary directory","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.","status":"published","published":"2026-10-05T11:56:27.782Z","modified":"2026-10-29T12:45:02.622415329Z","updated_at":"2026-11-02T15:28:35.111822Z"},{"id":"CLSA-2026-1791359868","title":"python3.11: Fix of CVE-2026-12345","description":"- CVE-2026-12345: fix symlink race in tempfile.TemporaryDirectory cleanup that\n  could delete or chmod files outside the temporary directory\n- Backport upstream 3.11 hardening the fix builds on: handle os.close() errors\n  in shutil.rmtree() (bpo-35332), don't mask PermissionError during cleanup\n  (bpo-43153), fix cleanup recursion error (gh-79325)","status":"published","published":"2026-10-07T07:57:58Z","modified":"2026-10-26T09:30:52.960929177Z","updated_at":"2026-11-02T15:43:49.016976Z"},{"id":"CLSA-2026-1792794952","title":"python3.9: Fix of CVE-2026-12345","description":"- CVE-2026-12345: fix symlink race in tempfile.TemporaryDirectory cleanup that\n  could delete or chmod files outside the temporary directory","status":"published","published":"2026-10-23T22:36:01Z","modified":"2026-10-26T09:31:02.675044898Z","updated_at":"2026-11-02T15:43:54.981307Z"},{"id":"MGASA-2026-0565","title":"Updated python3 \u0026 python-pip packages fixes security vulnerabilities","description":"CVE-2026-12345 The cleanup of tempfile.TemporaryDirectory is vulnerable\nto a race condition.\nAn attacker who can modify the tree during cleanup can replace a\ndirectory with a symbolic link, causing files outside of the temporary\ndirectory to be deleted or have their permissions and file flags reset,\nwith the privileges of the process performing the cleanup.\nNote that platforms where shutil.rmtree.avoids_symlink_attacks is false,\nremain affected, and file flags may still be reset outside of the tree\non all platforms.\nCVE-2026-19553 `ssl.SSLContext.wrap_bio()` didn't require the\n`server_hostname` argument to not be `None` if\n`ssl.SSLContext.check_hostname` was set. Due to a missing parameter\ncheck in `SSLObject`, if the `server_hostname` argument isn't supplied\nthen hostname verification would be silently skipped.\nThis defect could lead to programs where certificate hostname\nverification *appeared* to be succeeding with `SSLContext.check_hostname\n= True` and no `ValueError` being raised due to misconfiguration.\nIf the program passes a `server_hostname` value that isn't an empty\nstring or `None` to any of these APIs then certificate hostname\nverification proceeds as expected and the program is not affected by\nthis vulnerability.\nMitigating this vulnerability doesn't require updating Python or\napplying the patch. To mitigate, pass a valid non-`None` and non-empty\n`server_hostname` value to `SSLContext.wrap_bio()`,\n`asyncio.create_connection()`, or `asyncio.loop.start_tls()` and\ncertificate hostname verification will proceed as\nexpected. Upgrading to the latest version of Python or applying the\npatch only changes the behavior from silently skipping hostname\nverification to raising a `ValueError`, similar to\n`SSLContext.wrap_socket()`, when `server_hostname` isn't supplied.\nCVE-2026-19445 A remote, unauthenticated TLS client can make a server\ncrash or call through a freed pointer if its sni_callback assigns a\ndifferent context to SSLSocket.context (the documented way to select a\ncertificate per server name)\nand nothing else keeps the original ssl.SSLContext alive. Typical cases\nare servers that create an SSLContext per connection or replace it while\nconnections are open; servers that wrap their listening socket with it\nare not affected.\nMitigation: keep a reference to every SSLContext that sets sni_callback\nfor the lifetime of the server.\nTLS clients are not affected.\nCVE-2026-114583 tarfile.tar_filter could be bypassed using crafted link\nentries, including symlinks with empty or directory-like names, to\nredirect later archive members outside the intended extraction\ndirectory. This allowed a malicious tar archive to cause\ntarfile.extractall() with filter=\"tar\" to write files outside the\ndestination directory, subject to the permissions of the extracting\nprocess.\nThis is the tarfile.tar_filter counterpart of CVE-2026-7774, which\ncovered tarfile.data_filter.\n","status":"published","published":"2026-10-29T04:25:12Z","modified":"2026-10-29T04:43:07.2106897Z","updated_at":"2026-11-02T15:49:43.795591Z"},{"id":"openSUSE-SU-2026:12125-1","title":"python315-3.15.0-1.1 on GA media","description":"These are all security issues fixed in the python315-3.15.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-10-13T00:00:00Z","modified":"2026-10-14T17:23:09.422521371Z","updated_at":"2026-11-02T16:58:40.245664Z"},{"id":"PSF-2026-42","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.","status":"published","published":"2026-09-29T17:46:01.811Z","modified":"2026-10-26T01:00:04.871543719Z","updated_at":"2026-11-02T15:52:50.667197Z"}]}}
