High severity · published Oct 20, 2026
CVE-2026-113718
virtualenv: Xonsh activation literals depend on the script decoding codec
7.1
CVSS
0.2%
EPSS
No
On KEV
Description
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, POSIX xonsh activation quote() uses repr() to write printable non-ASCII prompt or destination data into UTF-8 activate.xsh, while xonsh can read that script using $XONSH_ENCODING. Under a legacy multibyte codec such as GBK or Big5, a UTF-8 trail byte can consume the backslash before an adjacent quote, allowing the literal to close and attacker-influenced statements to execute when the user sources the generated script. This issue is fixed in version 21.14.9.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 7% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
VI
virtualenv · pypa
< 21.14.9 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-113718
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-113718
github.com
https://github.com/pypa/virtualenv/commit/e5fc2e6e189a877ff559af288919e3525d13e5e0
github.com
https://github.com/pypa/virtualenv/pull/3432
github.com
https://github.com/pypa/virtualenv/releases/tag/21.14.9
github.com
https://github.com/pypa/virtualenv/security/advisories/GHSA-394h-qwmc-48pf
More from virtualenv
7.8
CVE-2026-113726
virtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST
7.8
CVE-2026-113776
virtualenv activation scripts run code from a path that contains a placeholder name
7.8
CVE-2026-113732
virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote
7.8
CVE-2026-113725
virtualenv bash activate runs commands from an environment name with a backslash before $
7.8
CVE-2026-113722
virtualenv: Generated POSIX console launchers interpret destination paths as shell syntax
