Pypa Virtualenv vulnerabilities
22 known vulnerabilities affecting pypa/virtualenv.
Total CVEs
22
CISA KEV
0
Public exploits
0
Exploited in wild
0
Severity breakdown
HIGH11MEDIUM8LOW3
Vulnerabilities
Page 1 of 2
CVE-2026-113722P3HIGHCVSS 7.8fixed in 21.14.92026-10-20
CVE-2026-113722 [HIGH] CWE-78 CVE-2026-113722: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, virtualenv
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. When the path contains a space or produces a shebang longer than 127 bytes, distlib emits a /bin/sh wrapper whose do
nvd
CVE-2026-113726P3HIGHCVSS 7.8fixed in 21.14.42026-10-20
CVE-2026-113726 [HIGH] CWE-78 CVE-2026-113726: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.13.0, the bash a
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 signs, and backticks only when BASH_VERSION is set, so zsh receives the raw value. The script assigns that value to P
nvd
CVE-2026-113776P3HIGHCVSS 7.8v>= 20.26.6, < 21.14.22026-10-20
CVE-2026-113776 [HIGH] CWE-78 CVE-2026-113776: virtualenv is a tool for creating isolated virtual python environments. From 20.26.6 until 21.14.2,
virtualenv is a tool for creating isolated virtual python environments. From 20.26.6 until 21.14.2, ViaTemplateActivator.instantiate_template() replaces placeholders one key at a time across the complete activation template, so trigger names such as __VIRTUAL_NAME__, __VIRTUAL_ENV__, or __VIRTUAL_PROMPT__ inside an already substituted and quoted envir
nvd
CVE-2026-113732P3HIGHCVSS 7.8fixed in 21.14.22026-10-20
CVE-2026-113732 [HIGH] CWE-78 CVE-2026-113732: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.2, FishActiva
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 differently. An attacker-influenced environment path, --prompt, or VIRTUALENV_PROMPT value containing a backslash before
nvd
CVE-2026-102925P3HIGHCVSS 7.8fixed in 21.7.132026-09-29
CVE-2026-102925 [HIGH] CWE-78 CVE-2026-102925: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.13, the genera
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 the bash and zsh script, a crafted virtual environment path reaches __VIRTUAL_ENV__ when a relocated environment's
nvd
CVE-2026-102930P3HIGHCVSS 7.7fixed in 21.7.122026-09-29
CVE-2026-102930 [HIGH] CWE-494 CVE-2026-102930: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.12, download_w
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 an authoritative digest equivalent to the embedded wheels' BUNDLE_SHA256 verification. A compromised index, stale
nvd
CVE-2026-113725P3HIGHCVSS 7.8fixed in 21.14.72026-10-20
CVE-2026-113725 [HIGH] CWE-78 CVE-2026-113725: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.7, the bash a
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.7, the bash activate script escapes the environment name for only one of the two passes bash makes over PS1, so a backslash in the name undoes the escaping and a name containing \$(...) runs as commands in the user's shell each time bash draws the prompt. This issu
nvd
CVE-2026-102937P3HIGHCVSS 7.3fixed in 21.7.122026-09-29
CVE-2026-102937 [HIGH] CWE-78 CVE-2026-102937: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.12, BatchActiv
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 influences --prompt, VIRTUALENV_PROMPT, or the corresponding configuration value can include a double quote that closes
nvd
CVE-2026-113718P4HIGHCVSS 7.1fixed in 21.14.92026-10-20
CVE-2026-113718 [HIGH] CWE-94 CVE-2026-113718: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, POSIX xons
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 that script using $XONSH_ENCODING. Under a legacy multibyte codec such as GBK or Big5, a UTF-8 trail byte can consume
nvd
CVE-2026-115586P4HIGHCVSS 7.1v>= 21.14.9, < 21.14.132026-10-23
CVE-2026-115586 [HIGH] CWE-78 CVE-2026-115586: virtualenv is a tool for creating isolated virtual python environments. From 21.14.9 until 21.14.13,
virtualenv is a tool for creating isolated virtual python environments. From 21.14.9 until 21.14.13, the bash bin/activate script can copy an attacker-controlled --prompt value into PS1 without escaping dollar signs or backticks when both promptvars and POSIX mode are disabled during activation. Re-enabling promptvars, running set -o posix, or starti
nvd
CVE-2026-102938P4MEDIUMCVSS 5.8fixed in 21.7.112026-09-29
CVE-2026-102938 [MEDIUM] CWE-93 CVE-2026-102938: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.11, PyEnvCfg.w
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.splitlines() and accepts the last value for duplicate keys. An attacker who influences --prompt, VIRTUALENV_PROMPT, or
nvd
CVE-2026-113723P4HIGHCVSS 7.1fixed in 21.14.92026-10-20
CVE-2026-113723 [HIGH] CWE-78 CVE-2026-113723: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, caller-sup
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, and a user must subsequently activate the environment and draw the prompt. This vulnerability is fixed in 21.14.9.
nvd
CVE-2026-113716P4MEDIUMCVSS 4.5fixed in 21.14.92026-10-20
CVE-2026-113716 [MEDIUM] CWE-59 CVE-2026-113716: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the builti
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the builtin creator calls ensure_dir() for executable, library, and package directories, and ensure_dir() accepts an existing symlink to a directory because exists() follows it. Interpreter creation, seed installation, and activation generation then write thro
nvd
CVE-2026-113720P4MEDIUMCVSS 4.4fixed in 21.14.92026-10-20
CVE-2026-113720 [MEDIUM] CWE-732 CVE-2026-113720: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the app-da
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the app-data copy seeder uses shutil.copy() to copy cached package files into later environments, causing cached source modes to override the current run's umask. A cache populated under a permissive umask can therefore produce files writable by another local
nvd
CVE-2026-113724P4MEDIUMCVSS 4.5fixed in 21.14.92026-10-20
CVE-2026-113724 [MEDIUM] CWE-59 CVE-2026-113724: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the safe_d
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 with os.chmod(path, ...), which follows a symlink. A planted link inside a read-only directory can therefore caus
nvd
CVE-2026-113713P4MEDIUMCVSS 4.4v>= 21.14.8, < 21.14.102026-10-20
CVE-2026-113713 [MEDIUM] CWE-377 CVE-2026-113713: virtualenv is a tool for creating isolated virtual python environments. From 21.14.8 until 21.14.10,
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 environment-variable and configuration-file forms of symlink_app_data can enable this state even though the command-l
nvd
CVE-2026-113719P4MEDIUMCVSS 4.5fixed in 21.14.92026-10-20
CVE-2026-113719 [MEDIUM] CWE-22 CVE-2026-113719: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, PipInstall
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 to site-packages without checking containment. When a reused destination contains distribution metadata influenced
nvd
CVE-2026-113721P4MEDIUMCVSS 4.5fixed in 21.14.92026-10-20
CVE-2026-113721 [MEDIUM] CWE-59 CVE-2026-113721: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, ViaTemplat
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, ViaTemplateActivator._generate() removes an existing output only when Path.exists() is true, allowing a dangling symlink to survive and redirect generated activation content, while PyEnvCfg.write() opens pyvenv.cfg without first replacing an existing symbolic
nvd
CVE-2026-22702P4MEDIUMCVSS 4.5fixed in 20.36.12026-01-10
CVE-2026-22702 [MEDIUM] CWE-59 CVE-2026-22702: virtualenv is a tool for creating isolated virtual python environments. Prior to version 20.36.1, TO
virtualenv is a tool for creating isolated virtual python environments. Prior to version 20.36.1, TOCTOU (Time-of-Check-Time-of-Use) vulnerabilities in virtualenv allow local attackers to perform symlink-based attacks on directory creation operations. An attacker with local access can exploit a race condition between directory existence checks and cr
nvd
CVE-2026-113717P4LOWCVSS 2.3fixed in 21.14.92026-10-20
CVE-2026-113717 [LOW] CWE-494 CVE-2026-113717: virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, PipInvoke.
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, PipInvoke.get_pip_install_cmd() handles --seeder pip --download by calling get_wheel(download=False) and then allowing pip to consult the configured index, bypassing virtualenv's download_wheel() and verify_wheel_digest() path. When virtualenv's default-index Py
nvd
1 / 2Next →