CVE-2026-113725
7.8HighPublished 20 Oct 2026 · NVD status: Received · AI triage by gemini-3.8-flash
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
- Impact
- Full C/I/A compromise
- Weakness
- CWE-78, CWE-116
Impact
Attackers can execute arbitrary shell commands with the user's privileges when a victim activates a malicious virtual environment. This requires tricking the user into sourcing a craftily named virtualenv's bash activation script.
Root cause
The bash activate script only escapes the virtual environment name for one of two bash PS1 passes, allowing backslashes to undo escaping and execute embedded subshells.
Affected systems
virtualenv prior to 21.14.7
CVSS v3.1 · CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Fix & remediation
Upgrade virtualenv to version 21.14.7 or later and regenerate existing virtual environments. If upgrading is delayed, avoid sourcing untrusted activate scripts or manually sanitize the PS1 assignment inside the script.
$ pip install --upgrade 'virtualenv>=21.14.7'AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.7, the bash activate script escapes the environment name for only one of the two passes bash makes over PS1, so a backslash in the name undoes the escaping and a name containing \$(...) runs as commands in the user's shell each time bash draws the prompt. This issue is fixed in version 21.14.7.