{"id":"CVE-2025-4517","published":"2025-06-03T12:58:50Z","modified":"2026-08-04T14:26:54Z","title":"Arbitrary writes via tarfile realpath overflow","vendor":"Python Software Foundation","product":"CPython","tier":"tail","description":{"text":"Allows arbitrary filesystem writes outside the extraction directory during extraction with filter=\"data\".\n\n\nYou are affected by this vulnerability if using the tarfile module to extract untrusted tar archives using TarFile.extractall() or TarFile.extract() using the filter= parameter with a value of \"data\" or \"tar\". See the tarfile  extraction filters documentation https://docs.python.org/3/library/tarfile.html#tarfile-extraction-filter  for more information.\n\nNote that for Python 3.14 or later the default value of filter= changed from \"no filtering\" to `\"data\", so if you are relying on this new default behavior then your usage is also affected.\n\nNote that none of these vulnerabilities significantly affect the installation of source distributions which are tar archives as source distributions already allow arbitrary code execution during the build process. However when evaluating source distributions it's important to avoid installing source distributions with suspicious links.","provenance":"source","from":"CVE.org"},"cvss":{"score":9.4,"severity":"CRITICAL","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.0148,"percentile":0.73913,"provenance":"source"},"cwes":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory"}],"references":[{"url":"https://github.com/python/cpython/issues/135034","tags":["issue-tracking"]},{"url":"https://github.com/python/cpython/pull/135037","tags":["patch"]},{"url":"https://mail.python.org/archives/list/security-announce@python.org/thread/MAXIJJCUUMCL7ATZNDVEGGHUMQMUUKLG/","tags":["vendor-advisory"]},{"url":"https://github.com/python/cpython/commit/3612d8f51741b11f36f8fb0494d79086bac9390a","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/9e0ac76d96cf80b49055f6d6b9a6763fb9215c2a","tags":["patch"]},{"url":"https://gist.github.com/sethmlarson/52398e33eff261329a0180ac1d54f42f","tags":["mitigation"]},{"url":"https://github.com/python/cpython/commit/19de092debb3d7e832e5672cc2f7b788d35951da","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/aa9eb5f757ceff461e6e996f12c89e5d9b583b01","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/28463dba112af719df1e8b0391c46787ad756dd9","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/4633f3f497b1ff70e4a35b6fe2c907cbe2d4cb2e","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/9c1110ef6652687d7c55f590f909720eddde965a","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/dd8f187d0746da151e0025c51680979ac5b4cfb1","tags":["patch"]}],"priority":{"score":26.4,"factors":[{"name":"EPSS percentile","points":14.78},{"name":"Public exploit code","points":5.0},{"name":"CVSS severity","points":6.58}]},"exploitSources":{"pocGithub":{"count":8,"skipped":0,"earliest":"2026-02-15","earliestUrl":"https://github.com/AnimePrincess420/CVE-2025-4517-PoC","repos":[{"name":"AzureADTrent/CVE-2025-4517-POC","url":"https://github.com/AzureADTrent/CVE-2025-4517-POC","stars":10,"created":"2026-02-15"},{"name":"0xDTC/CVE-2025-4517-tarfile-PATH_MAX-bypass","url":"https://github.com/0xDTC/CVE-2025-4517-tarfile-PATH_MAX-bypass","stars":8,"created":"2026-02-15"},{"name":"AnimePrincess420/CVE-2025-4517-PoC","url":"https://github.com/AnimePrincess420/CVE-2025-4517-PoC","stars":2,"created":"2026-02-15"},{"name":"StealthByte0/CVE-2025-4517-poc","url":"https://github.com/StealthByte0/CVE-2025-4517-poc","stars":2,"created":"2026-02-15"},{"name":"estebanzarate/CVE-2025-4517-Python-tarfile-filter-data-Bypass-PoC","url":"https://github.com/estebanzarate/CVE-2025-4517-Python-tarfile-filter-data-Bypass-PoC","stars":1,"created":"2026-02-20"}]},"first":{"date":"2026-02-15","source":"PoC-in-GitHub","url":"https://github.com/AnimePrincess420/CVE-2025-4517-PoC"},"provenance":"source"},"vendorSlug":"python-software-foundation","affectedVersions":[{"vendor":"Python Software Foundation","product":"CPython","versions":["< 3.9.23",">= 3.10.0, < 3.10.18",">= 3.11.0, < 3.11.13",">= 3.12.0, < 3.12.11",">= 3.13.0, < 3.13.4",">= 3.14.0a1, < 3.14.0b3"]}],"euvd":{"id":"EUVD-2025-16736","exploited":false,"provenance":"source"},"lineage":{"familyId":"fam-keras-team-keras-cve-2025-1550","children":[{"from":"CVE-2025-4517","to":"CVE-2025-12060","relation":"incomplete-fix","confidence":"high","kind":"lineage","evidence":[{"kind":"text","provenance":"source","relation":"incomplete-fix","quote":"Note that upgrading Python to one of the versions that fix CVE-2025-4517 (e.g. Python 3.13.4) is not enough.","from":"CVE.org","in":"CVE-2025-12060"}]}]}}