You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This will break quite a bit of Python software in the US Research & Education community.
Internet2's InCommon certificate service uses the emSign root CA, and that service is used by quite a few Research & Education institutions across the US.
(Apologies, replying from my $work github account rather than my OSS maintainer one.)
emSign was removed due to security concerns across all of its intermediates. I should be able to share more details soon, but for the time being this was the path to addressing risk.
You can see that both Chrome and Firefox have performed revocations of emSign certificates, and that emSign themselves published CRLs revoking intermediates.
That sounds like the others are revoking solely the intermediates - not the roots. Is this being done in certifi due to no framework for revocation/block of the intermediates only? Lot of collateral damage if so....
I imagine the hope is that the removal from certifi is a temporary measure until downstream packages can make sure they're validating intermediaries correctly. And then the roots can be added back.
That's correct, there's no facility for revoking an intermediate only. Given the alternate of exposing every user of certifi to MITM attacks, there was no better choice.
Would you consider explicitly adding (the OTHER intermediates) to reduce the blast radius of the "fix"? According to the InCommon list/representive from certinext - only one of the 8 had actually even been deployed, and none of them are affecting the very-heavily-used InCommon/CertiNext intermediates?
We can likely limit ourselves to only removing emSign Root TLS AC -G3 and emSign ECC Root CA - G3. I'll look at that this evening, although if someone sends a PR that'll save me a bit of time.
It looks like the background is here; the CA had dual-purpose root certificates (website and email) and as part of complying with the root CA programs they were required to drop trust for one or the other. Mozilla responded by removing the cert (and likely sticking it in OneCRL though I don't see that mentioned in the bug)
Edit to add: It's not exactly a trust issue so much as a compliance issue, the certs are kinda-sorta technically misissued but I would still trust them to prove identity for the moment.
Now that #440 brought some of the certificates back, I wonder if there could be an adjustment to the "affected Version" of GHSA-6q48-6c7w-9gw2.
It currently sits at >=2019.03.09 which somehow contradicts the statement "the certificates were created in April 2025" made by https://emudhra.we-have-a-problem.com/
The root has been present in certifi since 2019, the fact that the intermediates weren't issued until 2025 doesn't change the fact that if you have a copy of certifi from 2020, it's got the root and therefore you must upgrade.
Reacted by Manuel Zabelt, Mikhail and Ian Stapleton Cordasco
Activity
dnowell commentedon Oct 19, 2026
This is affecting some users at University of Michigan as well, would like to understand if there's an issue with emSign.
jamesharr commentedon Oct 19, 2026
This will break quite a bit of Python software in the US Research & Education community.
Internet2's InCommon certificate service uses the emSign root CA, and that service is used by quite a few Research & Education institutions across the US.
gaynor-anthropic commentedon Oct 19, 2026
(Apologies, replying from my $work github account rather than my OSS maintainer one.)
emSign was removed due to security concerns across all of its intermediates. I should be able to share more details soon, but for the time being this was the path to addressing risk.
You can see that both Chrome and Firefox have performed revocations of emSign certificates, and that emSign themselves published CRLs revoking intermediates.
nneul commentedon Oct 19, 2026
@gaynor-anthropic Can you provide a link/reference to the Chrome/FF actions? I'm not seeing anything jump out other than the 2024 incident?
aaomidi commentedon Oct 19, 2026
@nneul here's what's public so far:
cACompromise- see their CRLs (http://crl.emsign.com/?roottlscag3.crl, http://crl.emsign.com/?rootcscag3.crl) or CCADB's revoked intermediates list: https://ccadb.my.salesforce-sites.com/mozilla/PublicIntermediateCertsRevokedWithPEMCSVnneul commentedon Oct 19, 2026
That sounds like the others are revoking solely the intermediates - not the roots. Is this being done in certifi due to no framework for revocation/block of the intermediates only? Lot of collateral damage if so....
rascalking commentedon Oct 19, 2026
I imagine the hope is that the removal from certifi is a temporary measure until downstream packages can make sure they're validating intermediaries correctly. And then the roots can be added back.
gaynor-anthropic commentedon Oct 19, 2026
That's correct, there's no facility for revoking an intermediate only. Given the alternate of exposing every user of certifi to MITM attacks, there was no better choice.
nneul commentedon Oct 19, 2026
Would you consider explicitly adding (the OTHER intermediates) to reduce the blast radius of the "fix"? According to the InCommon list/representive from certinext - only one of the 8 had actually even been deployed, and none of them are affecting the very-heavily-used InCommon/CertiNext intermediates?
nneul commentedon Oct 19, 2026
It looks like the Rust folks are removing ONLY the affected G3 root, which has massively less impact.
gaynor-anthropic commentedon Oct 19, 2026
We can likely limit ourselves to only removing emSign Root TLS AC -G3 and emSign ECC Root CA - G3. I'll look at that this evening, although if someone sends a PR that'll save me a bit of time.
nneul commentedon Oct 19, 2026
#440
gaynor-anthropic commentedon Oct 19, 2026
Thanks, I'll look this evening.
Restore unaffected emSign roots (certifi#439)
omnigrok commentedon Oct 19, 2026
It looks like the background is here; the CA had dual-purpose root certificates (website and email) and as part of complying with the root CA programs they were required to drop trust for one or the other. Mozilla responded by removing the cert (and likely sticking it in OneCRL though I don't see that mentioned in the bug)
Edit to add: It's not exactly a trust issue so much as a compliance issue, the certs are kinda-sorta technically misissued but I would still trust them to prove identity for the moment.
3 remaining items
Restore unaffected emSign roots (#439) (#440)
jamesharr commentedon Oct 20, 2026
FWIW, 2026.10.19 seems to have fixed our issues.
Sample validation I ran:
Edit: I'd still be interested in seeing this issue remain open until there's public information on the security incident we can link to.
fix(docker): apply security upgrades and distrust emSign ECC G3 (#3)
gaynor-anthropic commentedon Oct 20, 2026
See https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/0R3XLJL6FuE/m/0XofdebrAAAJ for additional information. At this point I'm going to close this issue as there's now wide coverage of the incident.
Thanks for bearing with us during this unique incident, and thank you for all the feedback!
DrDaveD commentedon Oct 20, 2026
Here's the vendor disclosure page: https://emudhra.we-have-a-problem.com/
deps: upgrade certifi for emudhra compromise
[security] Update gRPC repo roots. (#43699)
deps: upgrade certifi for emudhra compromise
deps: upgrade certifi for emudhra compromise
deps: upgrade certifi for emudhra compromise
deps: upgrade certifi for emudhra compromise
deps: upgrade certifi for emudhra compromise
TTMaZa commentedon Oct 21, 2026
Now that #440 brought some of the certificates back, I wonder if there could be an adjustment to the "affected Version" of GHSA-6q48-6c7w-9gw2.
It currently sits at >=2019.03.09 which somehow contradicts the statement "the certificates were created in April 2025" made by https://emudhra.we-have-a-problem.com/
alex commentedon Oct 21, 2026
The root has been present in certifi since 2019, the fact that the intermediates weren't issued until 2025 doesn't change the fact that if you have a copy of certifi from 2020, it's got the root and therefore you must upgrade.