All vulnerabilities
GHSA-6q48-6c7w-9gw2PYSEC-2026-4320

certifi bundles emSign root CAs with compromised intermediate CA keys

certifipipLibraries & packages
CVSS
9.1Critical
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in2026.10.19Fixed versionGitHub
Published20 Oct 2026Updated 20 Oct 2026GitHub

What fixes it

  • 2026.10.19certifi, pipGitHub
  • 2026.10.19certifi, PyPIOSVpip install "certifi>=2026.10.19"

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

Certifi versions before 2026.10.18 include the emSign ECC Root CA - G3 root certificate in their bundled CA store. Eight eMudhra intermediate CA certificates that chain to this root have compromised private keys and the CA has revoked them.

An attacker with one of the compromised keys can issue valid-looking certificates for any hostname. If the attacker is also on-path, they can intercept or modify TLS traffic from clients that trust the certifi bundle. Examples include requests, urllib3 and pip, and the Python.org macOS installer.

Certifi 2026.10.18 removed all emSign roots from the bundle. Certifi 2026.10.19 restored the emSign roots that are not affected. Upgrade to 2026.10.19 or later, and rebuild container images that vendor certifi.

Text from GitHub Advisory Database

Affected versions 45

  • certifi, pip>= 2019.03.09, < 2026.10.19GitHub
  • certifi, PyPIfrom 2019.03.09, fixed in 2026.10.19OSV
  • certifi, PyPI2019.11.28OSV
  • certifi, PyPI2019.3.9OSV
  • certifi, PyPI2019.6.16OSV
  • certifi, PyPI2019.9.11OSV
  • certifi, PyPI2020.11.8OSV
  • certifi, PyPI2020.12.5OSV
  • certifi, PyPI2020.4.5OSV
  • certifi, PyPI2020.4.5.1OSV
  • certifi, PyPI2020.4.5.2OSV
  • certifi, PyPI2020.6.20OSV
  • certifi, PyPI2021.10.8OSV
  • certifi, PyPI2021.5.30OSV
  • certifi, PyPI2022.12.7OSV
  • certifi, PyPI2022.5.18OSV
  • certifi, PyPI2022.5.18.1OSV
  • certifi, PyPI2022.6.15OSV
  • certifi, PyPI2022.6.15.1OSV
  • certifi, PyPI2022.6.15.2OSV
  • certifi, PyPI2022.9.14OSV
  • certifi, PyPI2022.9.24OSV
  • certifi, PyPI2023.11.17OSV
  • certifi, PyPI2023.5.7OSV
  • certifi, PyPI2023.7.22OSV
  • certifi, PyPI2024.12.14OSV
  • certifi, PyPI2024.2.2OSV
  • certifi, PyPI2024.6.2OSV
  • certifi, PyPI2024.7.4OSV
  • certifi, PyPI2024.8.30OSV
  • certifi, PyPI2025.1.31OSV
  • certifi, PyPI2025.10.5OSV
  • certifi, PyPI2025.11.12OSV
  • certifi, PyPI2025.4.26OSV
  • certifi, PyPI2025.6.15OSV
  • certifi, PyPI2025.7.14OSV
  • certifi, PyPI2025.7.9OSV
  • certifi, PyPI2025.8.3OSV
  • certifi, PyPI2026.1.4OSV
  • certifi, PyPI2026.10.18OSV
  • certifi, PyPI2026.2.25OSV
  • certifi, PyPI2026.4.22OSV
  • certifi, PyPI2026.5.20OSV
  • certifi, PyPI2026.6.17OSV
  • certifi, PyPI2026.7.22OSV

References 4