pypa has 15 CVEs on record between 2021 and 2026. Disclosure cadence is accelerating: 13 in the last 90 days against 1 in the 90 before. The busiest recent month was October 2026 with 9. The median CVSS is 7.1 (high). None have a confirmed exploitation report. The dominant weakness classes are CWE-78 (6) and CWE-94 (3). Most affected products: virtualenv (13), pip (2).
CVEs per month
Last 12 months, by publish date
- Exploited share
- 0% vs 1% corpus
- Median CVSS
- 7.1
- Publish → KEV
- —
- Last 90 days
- 13 prev 1
Worst active — by depth score
CVE-2026-113722High· 7.8virtualenv: Generated POSIX console launchers interpret destination paths as shell syntax55CVE-2026-113723High· 7.1virtualenv: Bash prompt values can change meaning under older compatibility modes51CVE-2026-113718High· 7.1virtualenv: Xonsh activation literals depend on the script decoding codec51CVE-2021-3572Medium· 5.7A flaw was found in python-pip in the way it handled Unicode separators in git references44CVE-2026-113732High· 7.8virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote43
pypa vulnerabilities
CVEs affecting pypa, newest first. Open any entry for full detail, references, and exploit status.
15 CVEsRSS
CVE-2026-113732High· 7.8virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.2, FishActivator inherits ViaTemplateActivator.quote(), which uses POSIX shlex.quote() even though fish interprets backslashes and single quotes diffe…
CVE-2026-113726High· 7.8virtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.13.0, the bash activate script that zsh also sources leaves the environment name unescaped; from 21.13.0 until 21.14.4, it escapes backslashes, dollar si…
CVE-2026-113713Medium· 4.4PoCvirtualenv: Temporary app-data can leave dangling seed package links
virtualenv is a tool for creating isolated virtual python environments. From 21.14.8 until 21.14.10, the app-data seeder can leave an environment linked to temporary package files that virtualenv deletes when creation finishes. The envir…
CVE-2026-113714Low· 2.3PoCvirtualenv: Downloaded wheel selection and caching precede verification
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, download_wheel() writes package-index downloads directly into the reusable wheel/house cache before selecting a verification target from pip's text…
CVE-2026-113719Medium· 4.5PoCvirtualenv: Seed replacement does not contain metadata deletion paths
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, PipInstall._uninstall_previous_version() accepts existing seed-package metadata and _uninstall_dist() joins entries from top_level.txt and RECORD t…
CVE-2026-113718High· 7.1PoCvirtualenv: Xonsh activation literals depend on the script decoding codec
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, POSIX xonsh activation quote() uses repr() to write printable non-ASCII prompt or destination data into UTF-8 activate.xsh, while xonsh can read th…
CVE-2026-113722High· 7.8PoCvirtualenv: Generated POSIX console launchers interpret destination paths as shell syntax
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, virtualenv's ScriptMakerCustom and pip pass an incompletely quoted interpreter path to distlib ScriptMaker when generating POSIX console scripts. W…
CVE-2026-113723High· 7.1PoCvirtualenv: Bash prompt values can change meaning under older compatibility modes
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, caller-supplied prompt text can become executable syntax in the bash activation prompt. An attacker must influence the value passed to virtualenv, …
CVE-2026-113724Medium· 4.5PoCvirtualenv: Deletion recovery can change a symlink target's mode
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the safe_delete() deletion error handler responds to a failed removal by reading mode bits with os.lstat(path) and applying owner-write permission …
CVE-2026-102938Medium· 5.8virtualenv is a tool for creating isolated virtual python environments
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.11, PyEnvCfg.write() writes prompt values verbatim to the line-oriented pyvenv.cfg format while PyEnvCfg._read_values() parses the file with str.splitl…
CVE-2026-102937High· 7.3virtualenv is a tool for creating isolated virtual python environments
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.12, BatchActivator.quote() returns prompt text unchanged before activate.bat inserts it into a cmd.exe set "VAR=value" statement. An attacker who influ…
CVE-2026-102930High· 7.7virtualenv is a tool for creating isolated virtual python environments
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.12, download_wheel() accepts pip and setuptools seed wheels fetched for periodic updates or the --download option without checking their bytes against …
CVE-2026-102925High· 7.8virtualenv is a tool for creating isolated virtual python environments
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.13, the generated activate (bash and zsh) and activate.fish scripts place values already escaped by shlex.quote inside an additional quoted context. In…
CVE-2026-8643Medium· 5.5⚖ disputedpip 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.
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.
CVE-2021-3572Medium· 5.7PoCA flaw was found in python-pip in the way it handled Unicode separators in git references
A flaw was found in python-pip in the way it handled Unicode separators in git references. A remote attacker could possibly use this issue to install a different revision on a repository. The highest threat from this vulnerability is to …