PatchSiren cyber security CVE debrief
CVE-2026-115586 pypa CVE debrief
The virtualenv bash activator improperly handles the --prompt value when promptvars is off, allowing for command execution as the user who sources bin/activate. This issue was introduced in version 21.14.9 and fixed in version 21.14.13. The vulnerability arises from the bash activator putting the caller-supplied prompt value into PS1 unescaped, which can lead to command execution when prompt expansion is re-enabled or in an interactive child bash. Defenders should assess exposure, prioritize verification and remediation, and monitor for suspicious activity.
- Vendor
- pypa
- Product
- virtualenv
- CVSS
- HIGH 7.1
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-10-23
- Original CVE updated
- 2026-10-23
- Advisory published
- 2026-10-23
- Advisory updated
- 2026-10-23
Who should care
Defenders responsible for virtualenv environments, particularly those using bash activators, should assess exposure and prioritize verification and remediation. This includes reviewing usage of virtualenv bash activators, monitoring for suspicious activity, and verifying and upgrading to version 21.14.13 or later. Security teams and vulnerability management teams should also be aware of the potential impact on their environments.
Why it matters
Defenders should care about CVE-2026-115586 because it allows for command execution in virtualenv environments, particularly those using bash activators. The vulnerability was introduced in version 21.14.9 and fixed in version 21.14.13. Defenders responsible for virtualenv environments should assess exposure, prioritize verification and remediation, and monitor for suspicious activity.
- Command execution as the user who sources bin/activate
- Potential for lateral movement in virtualenv environments
- Need for verification of virtualenv version and usage
Technical summary
The virtualenv bash activator puts the caller-supplied prompt value into PS1 unescaped when promptvars is off, allowing for command execution as the user who sources bin/activate. This occurs because promptvars and posix mode are runtime shell state, not properties of the activation moment. Re-enabling prompt expansion in the same shell or starting an interactive child bash that inherits the exported PS1 makes bash expand the stored value and run the command substitution in it. The issue was introduced in version 21.14.9 and fixed in version 21.14.13.
Defensive priority
Defenders should prioritize verifying and upgrading to version 21.14.13 or later, and review usage of virtualenv bash activators.
Recommended defensive actions
- Verify and upgrade to version 21.14.13 or later
- Review usage of virtualenv bash activators
- Monitor for suspicious activity in virtualenv environments
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
- Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance
- Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
Evidence notes
The CVE record and source item provide details on the vulnerability, including its introduction in version 21.14.9 and fix in version 21.14.13. The vulnerability allows for command execution as the user who sources bin/activate due to the improper handling of the --prompt value. Evidence of the vulnerability includes the CVE record, source item details, and technical analysis of the bash activator code.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-115586 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-115586
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-115586 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-115586
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
virtualenv: Bash activator leaves the --prompt value unescaped in PS1 when promptvars is off, so
Unverified legacy reference
URL: https://storage.googleapis.com/osv-vulnerabilities/PyPI/GHSA-cx6f-vjhg-g3cc.json
osv_dev
-
Source reference
Unverified legacy reference
URL: https://github.com/pypa/virtualenv/security/advisories/GHSA-cx6f-vjhg-g3cc
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/pypa/virtualenv/pull/3466
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/pypa/virtualenv/commit/3598e201f6f044e389136b2347a8a919ac03c5f4
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/pypa/virtualenv
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/pypa/virtualenv/releases/tag/21.14.13
Supplemental source
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.