CVE-2026-113776 virtualenv activation scripts run code from a path that contains a placeholder name

High 7.8 Published Updated
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.

Weakness: CWE-94, CWE-78

Which versions are affected by CVE-2026-113776?

3 open source packages ship an affected version, including virtualenv.

PackageAffectedFixed in
virtualenv BitnamiFrom 20.26.621.14.2
virtualenv PyPIFrom 20.26.621.14.2
virtualenv PyPIFrom 20.26.621.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.

Is CVE-2026-113776 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free