high7.3
CVE-2026-102937
virtualenv: Command injection via --prompt in activate.bat (batch activator)
Impact
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 the assignment and leaves following cmd.exe operators as executable syntax. When a user activates the generated Windows environment, the injected commands run with that user's privileges. This issue is fixed in version 21.7.12.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | virtualenv | <= 21.7.11 | 21.7.12 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-x78j-v8h9-3j2q
- https://github.com/pypa/virtualenv/security/advisories/GHSA-x78j-v8h9-3j2q
- https://nvd.nist.gov/vuln/detail/CVE-2026-102937
- https://github.com/pypa/virtualenv/pull/3250
- https://github.com/pypa/virtualenv/commit/d721ff140ce4afdc2a9b76751e4584e25d9fbea6
- https://github.com/pypa/advisory-database/tree/main/vulns/virtualenv/PYSEC-2026-4014.yaml
- https://github.com/pypa/virtualenv
- https://github.com/pypa/virtualenv/releases/tag/21.7.12
- https://pypi.org/project/virtualenv