[ 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