Context is the eMudhra / emSign CA compromise. Mozilla, Google, Microsoft and most distros dropped the roots over a week ago. Apple's macOS command line tools still trust them, which is what Hacker News is arguing about today.
If you build on rustls you probably get your trust anchors from webpki-roots, compiled into the binary. I checked ours this afternoon (Mars, a browser engine we're writing from scratch, pinned webpki-roots = "=1.0.9" from July in two crates). Grepping src/lib.rs in each version:
- 1.0.9 (Jul 18): emSign Root CA - G1, emSign Root CA - C1, emSign ECC Root CA - G3, emSign ECC Root CA - C3
-
- 1.0.10 (Oct 19): removed emSign ECC Root CA - G3
-
- 1.0.11 (Oct 23): removed emSign Root CA - C1 and emSign ECC Root CA - C3, tracking the CCADB removals
So an exact pin, or aCargo.locknobody has touched since summer, means the binary still trusts the root Apple's support note tells people to delete by hand. rustls does no revocation checking unless you hand it CRLs, and there is no blocklist, so nothing at runtime tells you.
- 1.0.11 (Oct 23): removed emSign Root CA - C1 and emSign ECC Root CA - C3, tracking the CCADB removals
Fix is cargo update -p webpki-roots and dropping any =1.0.9 pins. Ours is bumped and compiles. If you vendor roots another way, worth a grep for emSign.
Release notes: Releases · rustls/webpki-roots · GitHub