Repository navigation
Pull certdata.txt from NSS master - #90
Merged
Merged
Conversation
Mozilla's root store changes land in NSS first and reach the Firefox release branch, which mk-ca-bundle.pl reads by default, about a release cycle later. The root changes NSS landed on 2026-07-14 reached castore on 2026-08-13. Firefox covers that gap for its own users with OneCRL and CRLite. Erlang :ssl doesn't check revocation by default, so the bundle is the only protection castore users get. This picks up the removal of emSign ECC Root CA - G3, emSign Root CA - C1 and emSign ECC Root CA - C3 from NSS: mozilla/nss@0a2b0c7 mozilla/nss@1573410 The private keys of eight eMudhra intermediate CAs were compromised (https://emudhra.we-have-a-problem.com). Through the emSign Root TLS CA - G3 cross-sign they chain to emSign ECC Root CA - G3, so Erlang :ssl with castore 1.0.21 accepts servers using those intermediates. Every entry also gains the SHA-256 fingerprint comment that mk-ca-bundle.pl started emitting in version 1.34. Closes #89
ericmj
marked this pull request as ready for review
October 20, 2026 16:09
ericmj
added a commit
to hexpm/hex
that referenced
this pull request
Oct 20, 2026
Mozilla's root store changes land in NSS first and reach certdata.txt on the Firefox release branch, which mk-ca-bundle.pl reads by default, about a release cycle later. Firefox release still has the three emSign roots NSS removed on 2026-10-20, so running mix certdata added them back. castore made the same change in elixir-mint/castore#90.
ericmj
added a commit
to hexpm/hex
that referenced
this pull request
Oct 20, 2026
* Stop trusting the emSign roots Mozilla removed The private keys of eight eMudhra intermediate CAs were compromised (https://emudhra.we-have-a-problem.com). Six of the incident's twelve test hosts chain to emSign ECC Root CA - G3 and Hex accepted them with its bundled CA store. NSS removed emSign ECC Root CA - G3, emSign Root CA - C1 and emSign ECC Root CA - C3 on 2026-10-20, but certdata.txt on the Firefox release branch, which `mix certdata` reads, still has them. The bundle is generated with mk-ca-bundle.pl 1.35 from certdata.txt on the NSS master branch. It has the same 118 certificates as castore 1.0.22 (elixir-mint/castore#90) and curl's cacert.pem from 2026-10-20. With it all twelve test hosts fail with unknown_ca. The bundle on main was last updated for v2.5.1, so this also brings in the root store changes that v2.5.2 shipped from the v2.5 branch. * Generate the CA bundle from NSS master in mix certdata Mozilla's root store changes land in NSS first and reach certdata.txt on the Firefox release branch, which mk-ca-bundle.pl reads by default, about a release cycle later. Firefox release still has the three emSign roots NSS removed on 2026-10-20, so running mix certdata added them back. castore made the same change in elixir-mint/castore#90.
This was referenced Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
mix certdatanow readscertdata.txtfrom the NSSmasterbranch instead of the Firefoxreleasebranch thatmk-ca-bundle.pluses by default. Mozilla's root store changes land in NSS first and reach Firefoxreleaseabout a release cycle later: the root changes NSS landed on 2026-07-14 reached castore on 2026-08-13. Firefox covers that gap for its own users with OneCRL and CRLite. Erlang:ssldoesn't check revocation by default, so the bundle is the only protection castore users get.This picks up the removal of emSign ECC Root CA - G3, emSign Root CA - C1 and emSign ECC Root CA - C3 from NSS (0a2b0c7, 1573410). The private keys of eight eMudhra intermediate CAs were compromised (https://emudhra.we-have-a-problem.com). Through the emSign Root TLS CA - G3 cross-sign they chain to emSign ECC Root CA - G3, so Erlang
:sslwith castore 1.0.21 accepts servers using those intermediates. With this bundle, all 12 test hosts from the incident page are rejected withunknown_ca. The result has the same 118 certificates as curl's 2026-10-20cacert.pem, which excludes the same three roots.Every entry also gains the SHA-256 fingerprint comment that
mk-ca-bundle.plstarted emitting in version 1.34. VERSION is bumped to 1.0.22 so the Publish workflow releases it on merge.Closes #89