Impact
Virtualenv's download_wheel() function fails to verify the integrity of seed wheels downloaded from pip or setuptools for periodic updates or the --download option. Because the verification against an authoritative digest is omitted, an attacker can replace the wheel on a compromised index, stale mirror, or an intercepted TLS connection. The substituted wheel is then cached and seeded into any environment created thereafter, allowing the attacker to execute arbitrary code within those environments at the time of creation.
Affected Systems
The vulnerability affects the PyPA virtualenv tool. Versions released before 21.7.12 are susceptible. Users deploying virtualenv in any environment that relies on the default PyPI index or a custom index via PIP_INDEX_URL, PIP_EXTRA_INDEX_URL, or PIP_INDEX config are potentially impacted. Upgrading to 21.7.12 or later eliminates the flaw.
Risk and Exploitability
The CVSS base score of 7.7 classifies the issue as High severity. No EPSS data is available, so the likelihood of current exploitation is unclear, and the vulnerability is not listed in the CISA KEV catalog. Nevertheless, the flaw enables code execution when a malicious wheel is injected, making it attractive for attackers who control a PyPI mirror or can manipulate the TLS path. The vulnerability is fixed in virtualenv 21.7.12, which reintroduces BUNDLE_SHA256 verification for seed wheels.
OpenCVE Enrichment
Github GHSA