CVE-2026-113776 virtualenv activation scripts run code from a path that contains a placeholder name
- Exploited in the wild
- Not known
- Fix
- Available
What is CVE-2026-113776?
CVE-2026-113776 is a high-severity vulnerability in pypa virtualenv, published on 20 Oct 2026.
Official description
virtualenv is a tool for creating isolated virtual python environments. From 20.26.6 until 21.14.2, ViaTemplateActivator.instantiate_template() replaces placeholders one key at a time across the complete activation template, so trigger names such as __VIRTUAL_NAME__, __VIRTUAL_ENV__, or __VIRTUAL_PROMPT__ inside an already substituted and quoted environment path or prompt can be replaced during a later pass. The later value's quoting can close the earlier literal and execute the remaining path when a user activates the environment through bash, fish, xonsh, or activate_this.py. The distinct csh prompt-display token __VIRTUAL_PROMPT_DISPLAY_TCSH__ can instead break the generated script without establishing command execution. The attacker must influence the destination path or --prompt, and a value without a relevant placeholder name does not trigger this mechanism. This issue is fixed in version 21.14.2.
Which versions are affected by CVE-2026-113776?
3 open source packages ship an affected version, including virtualenv.
| Package | Affected | Fixed in |
|---|---|---|
virtualenv Bitnami | From 20.26.6 | 21.14.2 |
virtualenv PyPI | From 20.26.6 | 21.14.2 |
virtualenv PyPI | From 20.26.6 | 21.14.2 |
How do I fix CVE-2026-113776?
Upgrade virtualenv to 21.14.2 or later.
Is CVE-2026-113776 being exploited?
There is no known exploitation of CVE-2026-113776 in the wild and no public exploit code.
Sources
Also known as AZL-110106, BIT-virtualenv-2026-113776, DEBIAN-CVE-2026-113776, ECHO-d6de-17d8-f721, GHSA-8rjx-v5ww-45pp, MINI-3g6q-9gwh-55hg and 2 more.