GHSA-hq85-5cpj-mr62 json
uv's bundled CA store trusts an emSign root whose intermediate CA keys are compromised
published 23d ago modified 12d ago also PYSEC-2026-4321
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
By default, uv verifies TLS connections against a vendored copy of the `webpki-root-certs` bundle. Versions before 0.13.4 include the `emSign ECC Root CA - G3` root. Eight eMudhra intermediate CA certificates that chain to that root have compromised private keys, and the CA has revoked them.
An attacker with one of the compromised keys can issue certificates that uv accepts for any hostname, and can be used to issue certificates to enable MITM attacks.
uv 0.13.4 removes the root from its vendored bundle, following `webpki-root-certs` 1.0.10. Upgrade to 0.13.4 or later.
Patch / fix
- pypi uv 0.13.4
Is GHSA-hq85-5cpj-mr62 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | uv | <0.13.4 |
0.13.4 |
Classification
- Weakness
-
- CWE-295 Improper Certificate Validation
References
-
github.com
/astral-sh/uv/security/advisories/GHSA-hq85-5cpj-mr62
web, advisory
-
github.com
/certifi/python-certifi/security/advisories/GHSA-6q48-6c7w-9gw2
web
-
emudhra.we-have-a-problem.com
web
-
github.com
/astral-sh/uv
package
-
groups.google.com
/a/mozilla.org/g/dev-security-policy/c/0R3XLJL6FuE/m/0XofdebrAAAJ
web
-
pypi.org
/project/uv
package
-
github.com
/advisories/GHSA-hq85-5cpj-mr62
advisory
Sources
- GitHub Advisory GHSA-hq85-5cpj-mr62
- OSV PYSEC-2026-4321
- Maintainer advisory GHSA-hq85-5cpj-mr62
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of astral-sh/uv published their own advisory on GitHub. Reviewed sources take precedence over it.