Skip to content

v0.11.1: distrust the compromised eMudhra intermediate CAs - #516

Merged
JasonVranek merged 1 commit into
release/v0.11.xfrom
fix/v0.11.1
Oct 29, 2026
Merged

JasonVranek merged 1 commit into
release/v0.11.xfrom
fix/v0.11.1

Conversation

@JasonVranek

Copy link
Copy Markdown
Collaborator

Hotfix for the v0.11 line. release/v0.11.x is the v0.11.0 commit (02cca17); the v0.11.1 release request will point at this commit once CI passes.

The keys of eight eMudhra intermediate CAs can be recomputed from their public certificates, so anyone can issue a certificate through them. v0.11.0 accepts such a certificate on relay HTTP connections and on the header stream.

This changes only the lockfile and the version:

  • rustls-webpki 0.103.15 → 0.103.16 rejects any chain that contains one of the eight keys, including their Sectigo cross-signs (RUSTSEC-2026-0382).
  • webpki-roots and webpki-root-certs 1.0.9 → 1.0.11 drop emSign ECC Root CA - G3, which issued them, and two more eMudhra roots Mozilla has since removed (RUSTSEC-2026-0381, RUSTSEC-2026-0383).
  • rustls 0.23.45 → 0.23.46 clears RUSTSEC-2026-0346 to 0349. Main already has it.
  • The version goes from 0.11.0 to 0.11.1.

The same dependency versions go to main in #515. These crates are younger than the 14-day publish-age cooldown on purpose. Security Audit will still report RUSTSEC-2026-0387 (crypto-bigint 0.5.5, through alloy's k256). That advisory is unrelated, is already in v0.11.0, and has no fix on the 0.5 line.

Tested

Commit-Boost was pointed at the four public eMudhra test hosts: emSign-rooted and Sectigo cross-signed, each with and without CT logging. Each host was configured once as an HTTP relay and once as a stream relay, using a CA store that still trusts the eMudhra root.

  • This branch refuses all eight connections with CertDistrusted.
  • The v0.12.0-rc1 release binary, which has v0.11.0's rustls-webpki and webpki-roots, completes TLS on six of them in the same setup.
  • cargo test --workspace --exclude cb-bench-micro: 360 passed.

…ates

The private keys of eight eMudhra intermediate CAs can be recomputed from
their public certificates. rustls-webpki 0.103.16 rejects any certificate
path that contains one of them, including their Sectigo cross-signs.
webpki-roots 1.0.11 drops emSign ECC Root CA - G3, which issued them, and
two more eMudhra roots Mozilla has since removed. Before this, relay
connections and the header stream accepted a certificate issued with
those keys.

Also updates rustls to 0.23.46. Clears RUSTSEC-2026-0346, 0347, 0348,
0349, 0381, 0382 and 0383.
@JasonVranek
JasonVranek merged commit 51cc63a into release/v0.11.x Oct 29, 2026
1 of 3 checks passed
@JasonVranek
JasonVranek deleted the fix/v0.11.1 branch October 29, 2026 22:55
@JasonVranek JasonVranek mentioned this pull request Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant