> We may need a security report for pip Probably a false alarm. I *can* make a tarball that causes this function to write a file to an arbitrary location in the filesystem... but all code paths I could find in pip that use this function then run code from the extracted tarball. So users need to trust what they `pip download`, anyway.
Upstream issue: https://github.com/pypa/pip/issues/12111 (This doesn't cover bundled libraries)
PR: https://gitlab.com/redhat/centos-stream/rpms/python-pip/-/merge_requests/12
Verified in the PR.
For verification: Run this script to create a malformed tarball: """ import tarfile def mkinfo(name, **kwargs): tarinfo = tarfile.TarInfo(name=name) for name, value in kwargs.items(): setattr(tarinfo, name, value) return tarinfo with tarfile.open('evil.tar.gz', 'w:gz') as tf: tf.addfile(mkinfo('./pyproject.toml')) tf.addfile(mkinfo('./tmp', type=tarfile.SYMTYPE, linkname='../../../../../../../../tmp')) tf.addfile(mkinfo('./tmp/poc')) """ And then run python3 -m pip install evil.tar.gz On an unpatched pip the evil.tar.gz will install successfully. On a fixed/patched one a "tarfile.OutsideDestinationError: 'tmp/poc' would be extracted to '/tmp/poc', which is outside the destination" will appear.