Skip to main content
VulnerabilityPublished Updated

CVE-2026-113722: pypa virtualenv · OS Command Injection

Affects pypa virtualenvSource CVE Database V5

0

Not known to be exploited · CVSS 7.8 High : upgrade to 21.14.9 soon.

Data as of 26 Oct 2026, 14:18 UTC

CVSS 3.1 base score
7.8High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.2% chance of exploitation in 30 days – higher than 20% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 21.14.9
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 20 Oct 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade pypa virtualenv to 21.14.9.

Affected software

ProductAffectedFixed in
pypavirtualenvAffected
  • <21.14.9
Fixed in
  • 21.14.9
PyPIvirtualenvpkg:pypi/virtualenvOther threatsAffected
  • <21.14.9
Fixed in
  • 21.14.9

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

A fix for this vulnerability is available in virtualenv version 21.14.9. Users should upgrade to this version or later. However, simply upgrading virtualenv does not repair existing launchers; these must be regenerated to remove the vulnerability. Users should also be aware that pip's vendored distlib remains vulnerable, so pip upgrades or installations can reintroduce affected launchers. Therefore, after upgrading virtualenv, users should regenerate all launchers and monitor pip-related activities to avoid reintroducing the issue.

Description

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.

References

Community reviews

Loading reviews…