clavin

#55738: fix: block the revoked eMudhra RSA intermediates

Merged
Created: Nov 11, 2026, 2:54:41 PM
Merged: Nov 11, 2026, 4:02:11 PM
9 comments
Target: main

Description of Change

Follow-up to #55126. On Nov 7 eMudhra revoked the eight RSA-4096 intermediates (G2B/G2C) generated in the same key ceremony as the ECDSA set blocked in October. Their keys weren't truncated, but they were handled outside a cryptographic module, so eMudhra can't show they stayed confidential (Bugzilla 2083449, comment 82, Appendix C). They still chain to emSign Root TLS CA - G1 and emSign Root CS CA - G2, and Electron doesn't consume CRLSet, so this adds their SPKI hashes to both lists:

  • Chromium: a new add_entries_to_the_spki_blocklist.patch that adds the eight hashes to the end of kSPKIBlockList. The October version of this patch was dropped once upstream CL 8618876 shipped the ECDSA set, and upstream at 159.0.8154.0 doesn't have the RSA set.
  • Node: the eight hashes are added to kBlockedSPKIs in the existing tls_adapt_the_upstream_spki_blocklist_for_electron.patch. Node v26.13.0 only has the ECDSA set.

How the hashes were derived and checked:

  • Each certificate was fetched from crt.sh by the fingerprint in the incident report. Its SHA-256, subject and serial all match the report.
  • The SPKI hash is SHA-256 over the DER SubjectPublicKeyInfo. The same computation reproduces the existing e7568fe6… entry exactly.
  • Both patches apply cleanly with git am onto the pinned upstream files (for Node, after fix_handle_boringssl_and_openssl_incompatibilities.patch). Every resulting file matches the blob hash recorded in the patch's index line.
Certificate Fingerprint (SHA-256) SPKI (SHA-256)
EM DV TLS CA - G2B 829ec444…bae793 04db3b7d…a9eb5b
EM DV TLS CA - G2C 0427ea3c…ac876d 34556838…a1f00e
EM OV TLS CA - G2B 6a7a9386…bd9012 84293510…9a48e1
EM OV TLS CA - G2C de767792…f94ba9 aa4216dc…61e3ce
EM EV TLS CA - G2B e072b30d…898750 c2690b6b…82b04e
EM EV TLS CA - G2C c3bc2b48…77aa20 1a942e39…f0adbe
EM OV CS CA - G2B 913f1a04…58e072 01696135…f13881
EM OV CS CA - G2C ebac91b8…84f27b c073efb3…946b86

Each part can be dropped once the hashes land upstream in Chromium or Node.

Checklist

🤖 Generated with Claude Code

Release Notes

Notes: Stopped trusting certificates issued by eMudhra's revoked RSA intermediates.

Backports

43-x-y
Merged
PR Number
#55744
Merged At
Nov 11, 2026, 5:26:28 PM
Released In
v43.8.9
Release Date
Nov 11, 2026, 6:00:04 PM
44-x-y
Merged
PR Number
#55743
Merged At
Nov 11, 2026, 5:21:47 PM
Released In
v44.11.2
Release Date
Nov 11, 2026, 5:58:32 PM
45-x-y
Merged
PR Number
#55742
Merged At
Nov 11, 2026, 5:24:22 PM
Released In
v45.3.1
Release Date
Nov 11, 2026, 5:57:47 PM
46-x-y
Merged
PR Number
#55741
Merged At
Nov 11, 2026, 5:15:52 PM
Released In
v46.0.0-alpha.10
Release Date
Nov 11, 2026, 5:58:19 PM

Semver Impact

Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.

Semantic Versioning helps users understand the impact of updates:

  • Major (X.y.z): Breaking changes that may require code modifications
  • Minor (x.Y.z): New features that maintain backward compatibility
  • Patch (x.y.Z): Bug fixes that don't change the API
  • None: Changes that don't affect using facing parts of Electron