[ CVE-2026-115586 · Published 23 Oct 2026 ]
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)
CVSS 7.1
EPSS <1%Fix available
[ Description ]Official description
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.
[ Fixes ]Fixes and patches
- virtualenv 21.14.13Fixed version · GitHub Advisories · pip package virtualenv: upgrade to 21.14.13 or later (affected >= 21.14.9, < 21.14.13)
[ Packages ]Affected open-source packages
- virtualenv pipAffected >= 21.14.9, < 21.14.13 · fixed in 21.14.13 · GHSA-cx6f-vjhg-g3cc