r/macsysadmin • u/Next-Passenger7430 • 9h ago
PSA: even after Apple's fix, /usr/bin/pip3 and Xcode's python still trust the leaked eMudhra roots (they ship a 2021 certifi)
Following up on the eMudhra intermediate-CA compromise. Apple's OS fix cleans the system trust and /etc/ssl/cert.pem — but it does NOT touch the CA bundles that individual Python installs vendor. On our fully-updated Mac, Apple's own /usr/bin/pip3 (Command Line Tools) ships certifi 2021.05.30, which still contains both roots the compromised intermediates chain to: "AAA Certificate Services" and "emSign ECC Root CA - G3". Xcode's bundled python and several app-bundled pythons are the same.
So `pip install` and anything using those interpreters can still trust the leaked roots, even though curl/git and your up-to-date venvs are clean.
Check each python you use (reads the file, changes nothing — match the two SPECIFIC roots, not just "emSign", since legit emSign roots are still in play):
BUNDLE=$(python3 -c 'import certifi; print(certifi.where())')
grep -E 'emSign ECC Root CA - G3|AAA Certificate Services' "$BUNDLE"
Any output = that interpreter still trusts them. What we saw on our Mac:
# /usr/bin/python3 (CLT) -> certifi 2021.05.30
# Subject: CN=AAA Certificate Services O=Comodo CA Limited
# Subject: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited
# ...meanwhile /etc/ssl/cert.pem (curl/git): 0 matches — clean
Gotcha that burned us: don't grep just "emSign" or trust the cert count — "AAA Certificate Services" was dropped from certifi before "emSign ... G3", so a bundle can look half-fixed. Match both exact names.
Fix: upgrade certifi (2026.10.19+) in each environment, or point SSL_CERT_FILE / REQUESTS_CA_BUNDLE at an updated bundle. For Apple's bundled pips you can't upgrade in place, use a venv with current certifi for anything that matters.
Anyone else seeing the 2021 certifi in CLT/Xcode pip? Curious how widespread this is.


