CVE-2026-113723
NoneCVSS
—
EPSS
0.2%
Published
Oct 20, 2026
CISA due date
—
Cloudanix analysis
A flaw in a popular Python environment tool lets attackers who can suggest a custom prompt message run their own commands on a computer when someone later activates that environment.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Untrusted prompt text supplied during virtualenv creation is interpolated without sanitization into the generated bash activation script, allowing arbitrary command execution when the script is sourced and the prompt is rendered.
Why it matters to the business
Attackers who can influence virtual environment creation parameters may achieve code execution on developer or build systems once the environment is activated, potentially leading to supply-chain compromise, data theft, or lateral movement across Python-centric development pipelines.
How an attack unfolds
An attacker crafts a malicious prompt value and passes it to virtualenv. Later, a user creates or activates the resulting environment, causing the bash activation script to execute the attacker-controlled commands when the prompt is displayed.
How to fix it
Upgrade virtualenv to version 21.14.9 or later. Regenerate any previously created virtual environments that may contain attacker-supplied prompts. Audit scripts and CI pipelines that pass dynamic values to virtualenv --prompt.
How to confirm the fix worked
Confirm virtualenv version is 21.14.9 or newer via 'virtualenv --version'. Inspect generated activate scripts for unescaped prompt content and test activation in an isolated environment to verify no unexpected commands execute.
Typical attack path
- Attacker identifies a workflow that invokes virtualenv with an attacker-controlled or attacker-influenced prompt argument.
- Malicious prompt containing shell metacharacters or command substitutions is supplied during environment creation.
- Resulting virtual environment is distributed, checked into source control, or activated by a victim user or automated process.
- Victim sources the activate script (or draws the prompt), triggering execution of the embedded commands.
How to detect it
Search shell history, CI logs, and virtual environment creation scripts for suspicious prompt arguments containing shell metacharacters, command substitutions, or unexpected executable content. Review activation logs or process execution traces immediately after environment activation for anomalous command invocations.
What your security team should do
- Immediately upgrade all virtualenv installations to 21.14.9 or newer across development, CI, and build environments.
- Add virtualenv version pinning and prompt sanitization checks to dependency and pipeline scanning policies.
- Review and restrict sources of prompt values passed to virtualenv in automation and developer tooling.
- Monitor for new virtual environments created with untrusted prompt inputs until upgrades are complete.
The record
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, caller-supplied prompt text can become executable syntax in the bash activation prompt. An attacker must influence the value passed to virtualenv, and a user must subsequently activate the environment and draw the prompt. This vulnerability is fixed in 21.14.9.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-62853 ThingLinks is an enterprise IoT platform. CWE-78
- CVE-2026-119335 Pi-hole is a DNS sinkhole that protects devices from unwanted content without installing… CWE-78
- CVE-2026-116241 pgAdmin 4's Import/Export Data tool wraps a user's query export in a psql \copy (...) TO… CWE-78
- CVE-2026-119713 Paperclip 2026.403.0 before 2026.416.0 contains a remote code execution vulnerability… CWE-78
- CVE-2026-119288 Zuke is a code-first, strongly typed build automation system for Deno. CWE-78
- CVE-2026-118238 The Tenda W18E web management server is vulnerable to OS command injection via the… CWE-78
- CVE-2026-91913 Dell OpenManage Enterprise, versions prior to 4.8.0, contains an Improper Neutralization… CWE-78
- CVE-2026-118992 CallBackery versions before 0.62.0 for Perl allow OS command execution via sqlite3 shell… CWE-78