CVE-2026-115586

Source
https://cve.org/CVERecord?id=CVE-2026-115586
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-115586.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-115586
Aliases
Downstream
Published
2026-10-23T19:34:46Z
Modified
2026-10-25T02:45:37Z
Severity
  • 7.1 (High) CVSS_V4 - 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 CVSS Calculator
Summary
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)
Details

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.

Database specific
{
    "cna_assigner":  "GitHub_M",
    "cwe_ids":  [
        "CWE-78"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/115xxx/CVE-2026-115586.json",
    "unresolved_ranges":  [
        {
            "extracted_events":  [
                {
                    "range":  [
                        {
                            "introduced":  "21.14.9"
                        },
                        {
                            "fixed":  "21.14.13"
                        }
                    ],
                    "source":  "AFFECTED_FIELD",
                    "strategy":  "StringRangeExpression"
                }
            ]
        },
        {
            "extracted_events":  [
                {
                    "range":  [
                        {
                            "fixed":  "21.14.13"
                        }
                    ],
                    "source":  "DESCRIPTION"
                }
            ]
        }
    ]
}
References

Affected packages

Git / github.com/pypa/virtualenv

Affected ranges

Type
GIT
Repo
https://github.com/pypa/virtualenv
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "extracted_events":  [
        {
            "range":  [
                {
                    "fixed":  "3598e201f6f044e389136b2347a8a919ac03c5f4"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        },
        {
            "original_tag":  "21.14.13",
            "range":  [
                {
                    "fixed":  "6accbd5ee857f6d7a5a59b1bd3db25cd5f04174a"
                }
            ],
            "source":  "REFERENCES_TAG"
        }
    ]
}

Affected versions

20.*
20.0.0b1
20.0.0b2
20.0.32
20.0.7
20.24.3
20.27.2
20.27.3
20.3.0
20.37.0
20.38.0
20.39.0
20.39.1
21.*
21.0.0
21.1.0
21.10.0
21.11.0
21.11.1
21.12.0
21.12.1
21.13.0
21.14.0
21.14.1
21.14.10
21.14.11
21.14.12
21.14.2
21.14.3
21.14.4
21.14.5
21.14.6
21.14.7
21.14.8
21.14.9
21.2.0
21.2.1
21.2.2
21.2.3
21.2.4
21.3.0
21.3.1
21.3.2
21.3.3
21.4.0
21.4.1
21.4.2
21.4.3
21.5.0
21.5.1
21.5.2
21.6.0
21.6.1
21.7.0
21.7.1
21.7.10
21.7.11
21.7.12
21.7.13
21.7.14
21.7.15
21.7.16
21.7.2
21.7.3
21.7.4
21.7.5
21.7.6
21.7.7
21.7.8
21.7.9
21.8.0
21.8.1
21.9.0
21.9.1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-115586.json"