uv's bundled CA store trusts an emSign root with compromised intermediates
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Spoofing
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-295.
Summary
uv, the Python package manager, verifies TLS connections by default against a vendored copy of the webpki-root-certs bundle, and 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 holding one of the compromised keys can issue certificates that uv accepts for any hostname, enabling man-in-the-middle attacks. This is classified as improper certificate validation (CWE-295).
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the GitHub advisory
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | uv (PyPI) | before 0.13.4 | 0.13.4 | Patch available | GHSA-hq85-5cpj-mr62 |
- uv (PyPI) Vendor— Affected before 0.13.4 Fixed in 0.13.4 Patch available GHSA-hq85-5cpj-mr62
Remediation
Upgrade uv to 0.13.4 or later, which removes the root from its vendored bundle following webpki-root-certs 1.0.10.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · GHSA-hq85-5cpj-mr62 uv (PyPI) Fixed in 0.13.4 Advisory →
Timeline
- 2026-10-21 Threatist record created from GHSA-hq85-5cpj-mr62
References
Other 5
- https://github.com/astral-sh/uv/security/advisories/GHSA-hq85-5cpj-mr62
- https://github.com/certifi/python-certifi/security/advisories/GHSA-6q48-6c7w-9gw2
- https://emudhra.we-have-a-problem.com
- https://github.com/astral-sh/uv
- https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/0R3XLJL6FuE/m/0XofdebrAAAJ
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences