PYSEC-2026-4320

See a problem?
Import Source
https://github.com/pypa/advisory-database/blob/main/vulns/certifi/PYSEC-2026-4320.yaml
JSON Data
https://api.osv.dev/v1/vulns/PYSEC-2026-4320
Aliases
Published
2026-10-20T21:41:50Z
Modified
2026-10-20T22:00:02Z
Severity
  • 9.1 (Critical) CVSS_V4 - CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
certifi bundles emSign root CAs with compromised intermediate CA keys
Details

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.

References

Affected packages

PyPI / certifi

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2019.03.09
Fixed
2026.10.19

Affected versions

2019.*
2019.3.9
2019.6.16
2019.9.11
2019.11.28
2020.*
2020.4.5
2020.4.5.1
2020.4.5.2
2020.6.20
2020.11.8
2020.12.5
2021.*
2021.5.30
2021.10.8
2022.*
2022.5.18
2022.5.18.1
2022.6.15
2022.6.15.1
2022.6.15.2
2022.9.14
2022.9.24
2022.12.7
2023.*
2023.5.7
2023.7.22
2023.11.17
2024.*
2024.2.2
2024.6.2
2024.7.4
2024.8.30
2024.12.14
2025.*
2025.1.31
2025.4.26
2025.6.15
2025.7.9
2025.7.14
2025.8.3
2025.10.5
2025.11.12
2026.*
2026.1.4
2026.2.25
2026.4.22
2026.5.20
2026.6.17
2026.7.22
2026.10.18

Database specific

source
"https://github.com/pypa/advisory-database/blob/main/vulns/certifi/PYSEC-2026-4320.yaml"