virtualenv is a tool for creating isolated virtual python environments.
CVE-2026-102930
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.12, downloadwheel() 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' BUNDLESHA256 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 PIPINDEXURL, PIPEXTRAINDEXURL, or PIPINDEX configures a custom index that may legitimately publish rebuilt wheels. This issue is fixed in version 21.7.12.
Assessment
- CVSS
- 7.7 (v4.0)
- Severity
- High
- EPSS
- 0.2% chance of exploitation in the next 30 days
- Known exploited
- Not listed in CISA KEV
- Exploit availability
- Nothing found in Exploit-DB, Metasploit, Nuclei or public PoC repositories
- Published
- 29 September 2026
- Last updated
- 30 September 2026
- Affected
- pypa · virtualenv
- Weakness
- CWE-494
- Assigner
- security-advisories@github.com
CVSS vectorCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
At the source
References
Community proofs of concept
No community proof of concept yet. If you have one for a published vulnerability and the right to share it, add it below — it will appear here once reviewed.
Submit a proof of concept
Only for publicly disclosed vulnerabilities, and only material from testing you were authorised to perform. This platform does not buy, sell, or broker exploits — see earning from vulnerability research for legitimate bounty programs. Submissions are reviewed before they appear. Text only; do not include live credentials, personal data, or anything targeting systems you are not permitted to test.
Query this programmatically
Agents can read this through the MCP endpoint, or over HTTP:
curl https://cve.zerocrew.in/api/cve/CVE-2026-102930