Quick answers
- Is CVE-2026-102937 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-102937 being exploited in the wild.
- How severe is CVE-2026-102937?
- High severity, with a CVSS score of 4, published 29 September 2026.
- Which products and versions are affected?
- Pypa Virtualenv before 21.7.12; virtualenv (PyPI) <= 21.7.11, ECOSYSTEM:introduced=0,fixed=21.7.12.
- Is there a fix for CVE-2026-102937?
- Yes. virtualenv (PyPI): upgrade to 21.7.12 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-102937 attacked?
- It is attacked with local access, in a software library.
- Am I affected by CVE-2026-102937?
- Check whether you run Pypa Virtualenv or virtualenv (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- virtualenv (PyPI): upgrade to 21.7.12 or later
pip install "virtualenv>=21.7.12"
Technical details
The vulnerability exists in BatchActivator.quote() which fails to escape double quotes in the prompt text before inserting it into a cmd.exe set "VAR=value" statement in activate.bat. An attacker can include a closing double quote followed by cmd.exe operators to break out of the assignment and execute arbitrary commands. The attack requires local or network access to influence the --prompt, VIRTUALENV_PROMPT environment variable, or configuration file, and triggers when a user activates the virtual environment. The issue is fixed in version 21.7.12 by properly escaping batch special characters.
Affected products
- pypa virtualenv before 21.7.12
Identifiers
- CVE-2026-102937
- GHSA-x78j-v8h9-3j2q
- PYSEC-2026-4014
Timeline
- 2026-09-29: disclosed
- 2026-09-18: patched