Name
python3-pip
Version
24.0
Type
library
Description
The PyPA recommended tool for installing Python packages
Licenses
MIT & Apache-2.0 & MPL-2.0 & LGPL-2.1-only & BSD-3-Clause & PSF-2.0 & BSD-2-Clause
PURL
-
CPE
cpe:2.3:*:pypa:pip:24.0:*:*:*:*:*:*:*
Other Versions#
Patches#
#
Title
Author
Resolve
1
python3-pip: Don't change shebang
Richard Purdie <richard.purdie@linuxfoundation.org>
2
Use os.path.commonpath() instead of commonprefix()
Seth Michael Larson <seth@python.org>
CVE-2026-1703
3
Reject entry point names that escape scripts dir (#14000)
Damian Shaw <damian.peter.shaw@gmail.com>
CVE-2026-8643
4
Fix is_within_directory for doubled-slash roots
Damian Shaw <damian.peter.shaw@gmail.com>
CVE-2026-8643
5
Use is_within_directory for entry point check
Damian <damian.peter.shaw@gmail.com>
CVE-2026-8643
6
Fix Link.filename decoding URL path twice (#14110)
Damian Shaw <damian.peter.shaw@gmail.com>
CVE-2026-13346
Vulnerabilities#
Name
Analysis
Description
Patched
pip would treat console_scripts and gui_scripts as paths instead of file names without sanitizing the resolved absolute path to the installation directory, leading to entry points being installed outside the installation directory.
Exploitable
pip prior to version 26.1 would run self-update check functionality after installing wheel files which required importing well-known Python modules names. These module imports were intentionally deferred to increase startup time of the pip CLI. The patch changes self-update functionality to run before wheels are installed to prevent newly-installed modules from being imported shortly after the installation of a wheel package. Users should still review package contents prior to installation.
Exploitable
pip handles concatenated tar and ZIP files as ZIP files regardless of filename or whether a file is both a tar and ZIP file. This behavior could result in confusing installation behavior, such as installing "incorrect" files according to the filename of the archive. New behavior only proceeds with installation if the file identifies uniquely as a ZIP or tar archive, not as both.
Patched
When pip is installing and extracting a maliciously crafted wheel archive, files may be extracted outside the installation directory. The path traversal is limited to prefixes of the installation directory, thus isn't able to inject or overwrite executable files in typical situations.
Patched
pip would incorrectly handle doubly-encoded package URLs from indexes allowing for files to be installed to arbitrary locations on disk even when installing wheels.
This vulnerability requires downloading or installing a package from a malicious package index to succeed, malicious packages alone are not able to exploit this vulnerability. Note that this vulnerability only materially impacts users running `pip download` with the `--only-binary` option as installing source distributions from an untrusted index is already an unsafe operation that executes code during install time.
Exploitable
When extracting a tar archive pip may not check symbolic links point into the extraction directory if the tarfile module doesn't implement PEP 706.
Note that upgrading pip to a "fixed" version for this vulnerability doesn't fix all known vulnerabilities that are remediated by using a Python version that implements PEP 706.
Note that this is a vulnerability in pip's fallback implementation of tar extraction for Python versions that don't implement PEP 706
and therefore are not secure to all vulnerabilities in the Python 'tarfile' module. If you're using a Python version that implements PEP 706
then pip doesn't use the "vulnerable" fallback code.
Mitigations include upgrading to a version of pip that includes the fix, upgrading to a Python version that implements PEP 706 (Python >=3.9.17, >=3.10.12, >=3.11.4, or >=3.12),
applying the linked patch, or inspecting source distributions (sdists) before installation as is already a best-practice.