CVE-2026-102930
Published:September 29, 2026
Updated:October 11, 2026
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.12, download_wheel() accepts pip and setuptools seed wheels fetched for periodic updates or the --download option without checking their bytes against an authoritative digest equivalent to the embedded wheels' BUNDLE_SHA256 verification. A compromised index, stale mirror, or intercepted TLS connection can substitute a different wheel under the requested distribution, version, and filename, after which virtualenv caches and seeds the attacker-controlled wheel into subsequently created environments. The verification applies to the default PyPI path and is intentionally skipped when PIP_INDEX_URL, PIP_EXTRA_INDEX_URL, or PIP_INDEX configures a custom index that may legitimately publish rebuilt wheels. This issue is fixed in version 21.7.12.
Affected Packages
virtualenv (CONDA):
Affected version(s) >=20.0.20 <21.7.12Fix Suggestion:
Update to version 21.7.12https://github.com/pypa/virtualenv.git (GITHUB):
Affected version(s) >=20.0.0 <21.7.12Fix Suggestion:
Update to version 21.7.12virtualenv (PYTHON):
Affected version(s) >=0.8 <21.7.12Fix Suggestion:
Update to version 21.7.12virtualenv (PYTHON):
Affected version(s) >=20.0.0 <21.7.12Fix Suggestion:
Update to version 21.7.12Related Resources (9)
Do you need more information?
Contact UsCVSS v4
Base Score:
7.7
Attack Vector
NETWORK
Attack Complexity
HIGH
Attack Requirements
PRESENT
Privileges Required
NONE
User Interaction
PASSIVE
Vulnerable System Confidentiality
HIGH
Vulnerable System Integrity
HIGH
Vulnerable System Availability
HIGH
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
7.5
Attack Vector
NETWORK
Attack Complexity
HIGH
Privileges Required
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Weakness Type (CWE)
Download of Code Without Integrity Check
EPSS
Base Score:
0.16