Repository navigation
gh-161323: Refuse drive-relative paths in tarfile extraction filters - #161334
Conversation
…lters On Windows, os.path.join() does not put a name such as 'C:foo' below a destination that has no drive, so the 'tar' and 'data' filters now refuse names and link targets with a drive, after normalization. ANT-2026-RSL1F4AT
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Documentation build overview
|
|
Thanks @gpshead for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11, 3.12, 3.13, 3.14, 3.15. |
|
GH-161355 is a backport of this pull request to the 3.15 branch. |
|
GH-161356 is a backport of this pull request to the 3.14 branch. |
|
GH-161357 is a backport of this pull request to the 3.13 branch. |
|
GH-161358 is a backport of this pull request to the 3.12 branch. |
|
GH-161359 is a backport of this pull request to the 3.11 branch. |
…ilters (GH-161334) (#161356) gh-161323: Refuse drive-relative paths in tarfile extraction filters (GH-161334) * gh-161323: Refuse drive-relative paths in tarfile extraction filters On Windows, os.path.join() does not put a name such as 'C:foo' below a destination that has no drive, so the 'tar' and 'data' filters now refuse names and link targets with a drive, after normalization. Fixes CVE-2026-107784. reported by Girish Konda ANT-2026-RSL1F4AT (cherry picked from commit e4c751b) Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com> Co-authored-by: Petr Viktorin <encukou@gmail.com>
…ilters (GH-161334) (#161355) gh-161323: Refuse drive-relative paths in tarfile extraction filters (GH-161334) * gh-161323: Refuse drive-relative paths in tarfile extraction filters On Windows, os.path.join() does not put a name such as 'C:foo' below a destination that has no drive, so the 'tar' and 'data' filters now refuse names and link targets with a drive, after normalization. Fixes CVE-2026-107784. reported by Girish Konda ANT-2026-RSL1F4AT (cherry picked from commit e4c751b) Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com> Co-authored-by: Petr Viktorin <encukou@gmail.com>
There was a problem hiding this comment.
Can we please record the CVE metadata in the standard format, rather than in the prose?
There was a problem hiding this comment.
where do we describe what form should be used?
Our docs compilation accepted the :cve: ReST tag so I assumed that counted. is that not considered "the standard format"? it appears elsewhere in our docs.
can we make forms we don't want fail to pass CI? prevention is the best medicine.
There was a problem hiding this comment.
I meant the:
.. cve: xxx
at the top of the file. That way it’s rendered beside the issue number in the changelog.
It would be a little hard to verify in the CI, there may be false positives…
On Windows, os.path.join() does not put a name such as 'C:foo' below a destination that has no drive, so the 'tar' and 'data' filters now refuse names and link targets with a drive, after normalization.