CVE-2026-115586: high-severity vulnerability in pypa virtualenv
virtualenv: Bash activator leaves the --prompt value unescaped in PS1 when promptvars is off, so prompt expansion later executes it (regression in 21.14.9)
Published
E-mail alert when it lands in KEV, gets a public PoC or its score goes up.
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 7.1epss 0.3%
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 starting an interactive child bash that inherits the exported PS1 can then expand command substitution in the stored VIRTUAL_ENV_PROMPT value and execute commands as the user who activates the environment. This issue is fixed in version 21.14.13.
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Affected products
pypa · virtualenvRelated CVEs — pypa virtualenv
In the same product, most dangerous first.
CVE-2026-113726HIGHvirtualenv activate runs commands from the environment name in zsh with PROMPT_SUBSTEPSS 0.3%CVE-2026-113717LOWvirtualenv: Pip seeding with download omits wheel digest verificationEPSS 0.3%CVE-2026-113722HIGHvirtualenv: Generated POSIX console launchers interpret destination paths as shell syntaxEPSS 0.3%CVE-2026-113776HIGHvirtualenv activation scripts run code from a path that contains a placeholder nameEPSS 0.3%CVE-2026-113725HIGHvirtualenv bash activate runs commands from an environment name with a backslash before $EPSS 0.3%CVE-2026-113714LOWvirtualenv: Downloaded wheel selection and caching precede verificationEPSS 0.2%