virtualenv activation scripts run code from a path that contains a placeholder name
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 5 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-78.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| pypa | virtualenv | 20.26.6 to before 21.14.2 | 21.14.2 | Patch available | CNA |
| — | virtualenv (PyPI) | 20.26.6 to before 21.14.2 | 21.14.2 | Patch available | GHSA-8rjx-v5ww-45pp |
- virtualenv Vendorpypa Affected 20.26.6 to before 21.14.2 Fixed in 21.14.2 Patch available CNA
- virtualenv (PyPI) Vendor— Affected 20.26.6 to before 21.14.2 Fixed in 21.14.2 Patch available GHSA-8rjx-v5ww-45pp
Remediation
- Fix · CNA virtualenv (pypa) Fixed in 21.14.2
- Fix · GHSA-8rjx-v5ww-45pp virtualenv (PyPI) Fixed in 21.14.2 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| OpenShift Lightspeed | Affected | No fix planned: Will not fix |
| Red Hat Ansible Automation Platform 2 | Affected | No fix yet |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet |
| Red Hat OpenShift Dev Spaces | Affected | No fix yet |
| Red Hat Satellite 6 | Affected | No fix yet |
Not affected: 3 products
- Red Hat Ansible Automation Platform 2
- Red Hat OpenShift AI (RHOAI)
- Red Hat OpenShift Container Platform 4
Timeline
- 2026-10-21 Threatist record created from CVE-2026-113776
- 2026-10-21 Affected versions changed · Red Hat
- 2026-10-21 CVSS score added · Red Hat
- 2026-10-21 Alias added: GHSA-8rjx-v5ww-45pp
- 2026-10-21 Fix available: PyPI/[email protected] · GHSA-8rjx-v5ww-45pp
- 2026-10-21 CVSS score added · GHSA-8rjx-v5ww-45pp
- 2026-10-21 Weakness changed · GHSA-8rjx-v5ww-45pp
- 2026-10-21 5 new references · GHSA-8rjx-v5ww-45pp
- 2026-10-22 Priority changed: MEDIUM → LOW
- 2026-10-22 Affected versions changed · Red Hat
- 2026-10-28 CISA SSVC decision points changed
- 2026-11-02 Affected versions changed · Red Hat
- 2026-11-03 Affected versions changed · Red Hat
- 2026-11-07 Affected versions changed · Red Hat
References
More pypa vulnerabilities
- TI-2025-29803 setuptools has a path traversal vulnerability in PackageIndex.download that leads to Arbitrary File Write CVSS 4.0HIGH 7.7
- TI-2024-05888 Remote Code Execution in pypa/setuptools CVSS 3.0HIGH 8.8
- TI-2026-78525 Shell command injection in virtualenv generated POSIX launchers CVSS 3.1HIGH 7.8
- TI-2026-78526 Command injection in virtualenv bash activation prompt CVSS 4.0HIGH 7.1
- TI-2026-78521 Code injection in virtualenv Xonsh activation script CVSS 4.0HIGH 7.1
- TI-2026-19377 wheel Allows Arbitrary File Permission Modification via Path Traversal CVSS 3.1HIGH 7.1
Sources
- CVE-2026-113776 · CVE Program
- CVE-2026-113776 · NVD
- FIRST EPSS
- GHSA-8rjx-v5ww-45pp · GitHub Advisory Database · CC BY 4.0
- CVE-2026-113776 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences