◆ CVE Hub

CVE-2026-115586

SSVC: none

virtualenv: Bash activator leaves the --prompt value unescaped in PS1 when promptvars is off, so prompt expansion later executes it (regression in 21.14.9)

Published
2026-10-23
Last modified
2026-10-23
CNA
GitHub_M
NVD status
Received
CWE
CWE-78

Fetching some sources has been requested. Reload in about a minute to see them.

CVSS v3.1 (listed by NVD)
—
Not scored
CVSS v4.0 (listed by NVD)
7.1
HIGH
Scored by github.com (not yet scored by NVD)
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS (listed by CVE.org)
7.1
HIGH
Scored by CNA (GitHub_M) · v4.0
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS exploit probability
0.2%
Percentile 8.1%
as of 2026-10-24
CISA KEV
—
Not listed
SSVC (CISA ADP)
none
Automatable: no / Impact: total

Attack conditions and impact

Derived from the CNA (via NVD) CVSS 4.0 vector
LocalNo authActive actionConditions Confidentiality HIntegrity HAvailability H
MetricValueMeaning
Attack vector AVLLocal
Attack complexity ACHHigh (conditions required)
Attack requirements ATPPresent
Privileges required PRNNone
User interaction UIAActive
Confidentiality (vulnerable system) VCHHigh
Integrity (vulnerable system) VIHHigh
Availability (vulnerable system) VAHHigh
Confidentiality (subsequent systems) SCNNone
Integrity (subsequent systems) SINNone
Availability (subsequent systems) SANNone
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Description

NVD

virtualenv is a tool for creating isolated virtual python environments. From 21.14.9 until 21.14.13, the bash bin/activate script can copy an attacker-controlled --prompt value into PS1 without escaping dollar signs or backticks when both promptvars and POSIX mode are disabled during activation. Re-enabling promptvars, running set -o posix, or starting an interactive child bash that inherits the exported PS1 can then expand command substitution in the stored VIRTUAL_ENV_PROMPT value and execute commands as the user who activates the environment. This issue is fixed in version 21.14.13.

CVSS assessments

ProviderVersionScoreVector
NVD / [email protected] (Secondary)4.07.1 HIGHCVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CNA / GitHub_M4.07.1 HIGHCVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Affected products and packages

CNA (CVE.org)

VendorProductVersions
pypavirtualenv
affected: >= 21.14.9, < 21.14.13

Open-source packages (GitHub Advisory / OSV)

GHSA-cx6f-vjhg-g3cc GHSA HIGH reviewed

virtualenv: Bash activator leaves the --prompt value unescaped in PS1 when promptvars is off, so prompt expansion later executes it (regression in 21.14.9)

EcosystemPackageAffected versionsFixed in
PyPIvirtualenv>= 21.14.9, < 21.14.1321.14.13

Linux distribution status

Red Hat ↗ moderate

ReleasePackageStatusFixed version / notes
Red Hat Ansible Automation Platform 2ansible-automation-platform-26/controller-rhel9affected
Red Hat Ansible Automation Platform 2ansible-automation-platform-26/eda-controller-rhel9affected
Red Hat Ansible Automation Platform 2ansible-automation-platform-26/lightspeed-chatbot-rhel9affected
Red Hat Ansible Automation Platform 2ansible-automation-platform-27/controller-rhel9affected
Red Hat Ansible Automation Platform 2ansible-automation-platform-27/eda-controller-rhel9affected
Red Hat OpenShift Dev Spacesdevspaces/udi-rhel9affected
OpenShift Lightspeedopenshift-lightspeed/lightspeed-service-api-rhel9affected
Red Hat Ansible Automation Platform 2python-virtualenvaffected
Red Hat OpenShift Container Platform 4python-virtualenvaffected
Red Hat Ansible Automation Platform 2python3.11-virtualenvaffected
Red Hat Ansible Automation Platform 2python3.12-virtualenvaffected
Red Hat OpenShift AI (RHOAI)rhai-early-access/docling-serve-cuda-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-feature-server-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-kserve-agent-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-kserve-controller-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-kserve-router-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-kserve-storage-initializer-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-ta-lmes-job-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-training-rocm64-torch28-py312-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-trustyai-nemo-guardrails-server-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-workbench-jupyter-datascience-cpu-py312-rhel9affected
Red Hat OpenShift AI (RHOAI)rhoai/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-rhel9affected
Red Hat Satellite 6satellite/iop-advisor-backend-rhel9affected
Red Hat Satellite 6satellite/iop-host-inventory-rhel9affected
Red Hat Satellite 6satellite/iop-yuptoo-rhel9affected

Debian ↗

ReleasePackageStatusFixed version / notes
bookwormpython-virtualenvnot-affected unimportant
forkypython-virtualenvnot-affected unimportant
sidpython-virtualenvnot-affected unimportant
trixiepython-virtualenvnot-affected unimportant

Ubuntu ↗ Fetching

References (5)