GHSA-hq85-5cpj-mr62: uv's bundled CA store trusts an emSign root whose intermediate CA keys are compromised
uv before 0.13.4 verifies TLS against a vendored `webpki-root-certs` bundle that includes the `emSign ECC Root CA - G3` root. Eight eMudhra intermediates under that root have compromised keys and are revoked. An attacker holding one key can issue certificates uv accepts for any hostname, enabling man-in-the-middle attacks on package downloads. Upgrade to uv 0.13.4.
Published Oct 20, 2026 · Analysis Oct 21, 2026
What an attacker can do
By default uv does not use the operating system's trust store. It checks servers against its own copy of the webpki-root-certs bundle, so a distro-level fix does not protect it. Because that copy still contained the emSign ECC G3 root, a certificate signed by any of the eight compromised intermediates validates for any hostname, for example a package index or a Git host.
The attacker needs one of the leaked keys and a position on the network path between the developer or CI runner and the server. That is a high bar, which the CVSS 4.0 vector reflects with high attack complexity. With it, they can read and alter traffic: swap a wheel or sdist for a malicious one, steal index credentials or tokens, or tamper with resolved dependencies. The result is code execution on whatever installs the package. CI runners that install dependencies on shared or untrusted networks are the likeliest targets.
Who is affected
Affected: uv versions below 0.13.4 that use the default bundled certificate store. Check the version:
uv --version
pip show uvCheck pinned installs in CI images, Dockerfiles (for example COPY --from=ghcr.io/astral-sh/uv), and tool caches, since each carries its own binary.
uv
- Ecosystem
- PyPI
- Affected
- < 0.13.4
- Fixed in
- 0.13.4
- Check
pip show uv
How to fix it
Upgrade to uv 0.13.4 or later. It removes the root from the vendored bundle, following webpki-root-certs 1.0.10.
uv self updateIf you installed through pip, run pip install --upgrade uv. Rebuild container images and refresh CI caches that pin an older binary. The advisory lists no workaround. Updating the system CA store does not help while uv uses its bundled one.
How to tell if you were hit
Inventory uv versions across developer machines, CI images and containers. In TLS logs or captures, look for certificates presented to uv that were issued by an eMudhra or emSign intermediate for hosts that normally use another CA. For environments that downloaded packages on untrusted networks, verify installed artifacts against lockfile hashes.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
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.
Credited to woodruffw.
Questions
- Does updating my system CA certificates fix uv?
No. By default uv verifies against its own vendored
webpki-root-certscopy, so you must upgrade uv itself to 0.13.4 or later.- Is this related to the certifi advisory?
Yes. Both stem from the compromised eMudhra intermediate keys under the emSign ECC G3 root. The certifi advisory is GHSA-6q48-6c7w-9gw2, which removed the root there.
- What does an attacker need to exploit it?
One of the eight compromised intermediate keys, plus a network position to intercept uv's connection. Complexity is rated high.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
