Machine-written summary
Summary written by Claude Haiku from the source advisory. Not reviewed by a person.
Virtualenv versions before 21.7.12 do not verify the integrity of pip and setuptools wheels downloaded over the network, for the periodic-update feature or the --download flag. An attacker who can substitute a wheel, through a compromised or stale index or by intercepting TLS, could get a different wheel seeded into newly created environments without any warning. Upgrade to virtualenv 21.7.12, which checks downloaded wheels against the digest PyPI reports for that release; the check is skipped when a custom index is configured, so that case is not covered.
Not analysed yet
We haven’t published our analysis of this Advisory yet. Once a person has reviewed it, this page will say what’s vulnerable, what has to be true for your app to be affected, and how to check.
Severity and exploitation
| Score | Rating | CVSS | Vector | Source |
|---|---|---|---|---|
| 7.7 | High | 4.0 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N | CNA (GitHub_M) |
- CISA KEV Not listed.
- EPSS 0.0020, the 9th percentile, on 5 Nov 2026: FIRST’s estimate of the chance of exploitation in the next 30 days.
Timeline
- 31 Oct 2026, 14:09 UTC First seen by agentprime
- 31 Oct 2026, 14:09 UTC Confirmed by OSV
Sources
- GitHub Advisory Database: GHSA-94p9-xgh2-xp45
- OSV: GHSA-94p9-xgh2-xp45
- github.com/pypa/virtualenv/security/advisories/GHSA-94p9-xgh2-xp45
- nvd.nist.gov/vuln/detail/CVE-2026-102930
- github.com/pypa/virtualenv/pull/3251
- github.com/pypa/virtualenv/commit/a01ed3e2f239d6ab1fce62c5c7664ccf268fff6d
- github.com/pypa/advisory-database/tree/main/vulns/virtualenv/PYSEC-2026-4011.yaml
- github.com/pypa/virtualenv
- github.com/pypa/virtualenv/releases/tag/21.7.12
- pypi.org/project/virtualenv