tarfile tar and data extraction filters allow outside directory creation via exit-and-re-entry paths #155999
Copy link
Copy link
Closed
Labels
3.10 (EOL)end of lifeend of life3.11only security fixesonly security fixesstdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directorytype-securityA security issueA security issue
Description
See PR for more information
Linked PRs
- gh-155999: In
tarfile, handle a member that leaves the destination and comes back #156000 - [3.15] gh-155999:
tarfile: handle a member that leaves the destination but comes back (GH-156000) #156040 - [3.14] gh-155999:
tarfile: handle a member that leaves the destination but comes back (GH-156000) #156041 - [3.13] gh-155999:
tarfile: handle a member that leaves the destination but comes back (GH-156000) #156042 - [3.12] gh-155999:
tarfile: handle a member that leaves the destination but comes back (GH-156000) #156043 - [3.11] gh-155999:
tarfile: handle a member that leaves the destination but comes back (GH-156000) #156044 - [3.10] gh-155999:
tarfile: handle a member that leaves the destination but comes back (GH-156000) #156046
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
3.10 (EOL)end of lifeend of life3.11only security fixesonly security fixesstdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directorytype-securityA security issueA security issue
Projects
- StatusShow more project fieldsDone
Activity
gh-155999: `tarfile`: handle a member that leaves the destination but…
[3.14] gh-155999: `tarfile`: handle a member that leaves the destinat…
[3.13] gh-155999: `tarfile`: handle a member that leaves the destinat…
[3.12] gh-155999: `tarfile`: handle a member that leaves the destinat…
[3.15] gh-155999: `tarfile`: handle a member that leaves the destinat…
[3.11] gh-155999: `tarfile`: handle a member that leaves the destinat…
[3.10] gh-155999: `tarfile`: handle a member that leaves the destinat…
mcepl commentedon Oct 7, 2026
Unfortunately, changelogs for all latest releases (except for 3.13.8) miss on the fact they fix this bug.
hugovk commentedon Oct 7, 2026
This is in the changelog for 3.14:
https://docs.python.org/3.14/whatsnew/changelog.html#:~:text=gh%2D155999%3A%20Fix,name%20as%20given.
And present in https://www.python.org/ftp/python/doc/3.14.8/python-3.14.8-docs-html.zip and https://www.python.org/ftp/python/3.14.8/Python-3.14.8.tar.xz.
Also similarly for 3.10-3.13.
Please can you point to exactly where it's missing?