CVE-2026-115586
CVE-2026-115586 · 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)
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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 7.1 · High · Public exploit · Fix available
- Published
- Updated
Stack: python
Affected products and versions
virtualenv
- Versions
- >= 21.14.9, < 21.14.13: Affected
No fix published
virtualenv PyPI
- Versions
- 21.14.10
- 21.14.11
- 21.14.12
- 21.14.9
- Affected ranges
- ECOSYSTEM: ≥ 21.14.9, < 21.14.13
Update to 21.14.13
Original sources
- https://github.com/pypa/virtualenv/security/advisories/GHSA-cx6f-vjhg-g3cc
- https://github.com/pypa/virtualenv/pull/3466
- https://github.com/pypa/virtualenv/commit/3598e201f6f044e389136b2347a8a919ac03c5f4
- https://github.com/pypa/virtualenv/releases/tag/21.14.13
- https://nvd.nist.gov/vuln/detail/CVE-2026-115586