CVE-2026-113722

Source
https://cve.org/CVERecord?id=CVE-2026-113722
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-113722.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-113722
Aliases
Downstream
CGA (14)
MINI (1)
Published
2026-10-20T19:48:29Z
Modified
2026-10-21T10:45:51Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H CVSS Calculator
Summary
virtualenv: Generated POSIX console launchers interpret destination paths as shell syntax
Details

virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, virtualenv's ScriptMakerCustom and pip pass an incompletely quoted interpreter path to distlib ScriptMaker when generating POSIX console scripts. When the path contains a space or produces a shebang longer than 127 bytes, distlib emits a /bin/sh wrapper whose double-quoted interpreter path still expands command substitutions and backticks. An attacker who influences the environment destination can therefore execute commands with the user's privileges when the user later runs a generated launcher; environment creation and activation do not trigger the command. Existing launchers are not repaired by upgrading virtualenv alone and must be regenerated, while a later independent pip installation or upgrade can reintroduce an affected launcher because pip's vendored distlib is unchanged. The virtualenv fix is released in version 21.14.9.

Database specific
{
    "cna_assigner":  "GitHub_M",
    "cwe_ids":  [
        "CWE-78"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/113xxx/CVE-2026-113722.json"
}
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":  [
                {
                    "introduced":  "0"
                },
                {
                    "fixed":  "21.14.9"
                }
            ],
            "source":  "AFFECTED_FIELD",
            "strategy":  "StringRangeExpression"
        },
        {
            "range":  [
                {
                    "fixed":  "2519941bed33ee0d3ac99277f67913e439e476a9"
                }
            ],
            "source":  "REFERENCES_COMMIT"
        },
        {
            "original_tag":  "21.14.9",
            "range":  [
                {
                    "fixed":  "e53e30b9c8fbc3f4f502223819449ddc970fbbe8"
                }
            ],
            "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.2
21.14.3
21.14.4
21.14.5
21.14.6
21.14.7
21.14.8
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-113722.json"