Repository navigation
chore(deps): resolve rustls-webpki and webpki-roots emSign RustSec advisories - #2410
Merged
Merged
Conversation
rustls-webpki before 0.103.16 can accept certificate paths through the distrusted emSign intermediates, whose private keys are now public, when the configured trust anchors allow such paths. 0.103.16 rejects paths containing those public keys. 0.103.16 was published on 2026-10-20, inside the 14-day publish-age cooldown, so this resolve used the documented one-off override `CARGO_RESOLVER_INCOMPATIBLE_PUBLISH_AGE=allow`.
Contributor
🔒 AI Security Review (claude-opus-5-5)✅ No security issues found. |
webpki-roots 1.0.9 (RUSTSEC-2026-0381) and webpki-root-certs 1.0.5 (RUSTSEC-2026-0383) bundle roots that let paths through the distrusted emSign intermediates verify. 1.0.10 of both crates excludes them. This is the root-store side of the incident that RUSTSEC-2026-0382 fixes in rustls-webpki. Both 1.0.10 releases were published on 2026-10-19, inside the 14-day publish-age cooldown, so these resolves used the documented one-off override `CARGO_RESOLVER_INCOMPATIBLE_PUBLISH_AGE=allow`.
Contributor
🔒 AI Security Review (claude-opus-5-5)✅ No security issues found. |
storopoli
enabled auto-merge
October 21, 2026 15:00
6 of 16 tasks
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
8 of 14 tasks
Contributor
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #2410 +/- ##
==========================================
- Coverage 89.21% 89.21% -0.01%
==========================================
Files 440 440
Lines 75934 75934
==========================================
- Hits 67747 67744 -3
- Misses 8187 8190 +3
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Member
Author
|
Force-merging this because we need this asap cc @alexhui01 |
storopoli
disabled auto-merge
October 22, 2026 17:37
5 of 16 tasks
storopoli
added a commit
that referenced
this pull request
Oct 22, 2026
…leases/0.3.0 (#2413) chore(deps): bump webpki-roots and webpki-root-certs to 1.0.10 Backports the root-store half of #2410 to releases/0.3.0. webpki-roots 1.0.5 (RUSTSEC-2026-0381) and webpki-root-certs 1.0.5 (RUSTSEC-2026-0383) bundle `emSign ECC Root CA - G3`, which lets certificate paths through the distrusted emSign intermediates verify. 1.0.10 of both crates removes that root. The rustls-webpki half of #2410 (0.103.16, RUSTSEC-2026-0382) does not resolve on this branch. reth v1.9.1's reth-mdbx-sys pins `cc = "=1.2.15"`, while every rustls-webpki release from 0.103.10 on needs aws-lc-rs ^1.14, whose aws-lc-sys build-depends on cc ^1.2.26. The resolve also moved data-encoding-macro-internal's syn edge from 2.0.117 to 1.0.109. Both versions were already locked and the change was unrelated, so it is reverted.
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.
Description
Fixes the three RustSec advisories from the emSign intermediate distrust that
cargo auditreports onmain:rustls-webpkiwebpki-rootswebpki-root-certsThere are two commits: one for
rustls-webpki, and one for both root-store crates.The private keys for several emSign intermediates are now public. rustls-webpki before 0.103.16 can accept certificate paths that contain those intermediates' public keys when the configured trust anchors allow such paths. 0.103.16 rejects those paths.
webpki-roots and webpki-root-certs before 1.0.10 bundle
emSign ECC Root CA - G3, which lets those paths reach a trusted anchor. 1.0.10 removes that root. Thewebpki-rootsandwebpki-root-certs0.26.11 compatibility crates in the lockfile hold no roots of their own; they re-export their 1.x dependency, which now resolves to 1.0.10.The lockfile changes touch only each crate's version and checksum, plus the dependency entries that name those versions.
Type of Change
Notes to Reviewers
Reachability.
rustls-webpkiandwebpki-rootsare compiled into every node build. They verify server certificates for our outbound TLS clients (bitreqthroughbitcoind-async-client,reqwest,hyper-rustls, and thejsonrpseeHTTP and WS clients). The clients that trustwebpki-rootstrusted the emSign root until this bump.webpki-root-certsis a normal dependency ofrustls-platform-verifieronly onwasm32, so it does not compile into our node builds. It is still recorded inCargo.lock, which is whatcargo auditscans.Cooldown override. All three releases came out on 2026-10-19 or 2026-10-20, inside the 14-day cooldown, so the resolves used the override documented in
.cargo/config.toml:The
rustls-webpkiupdate also movedtempfile'sgetrandomedge from 0.3.4 to 0.4.2.tempfileaccepts>=0.3.0, <0.5and both versions were already locked. The change was unrelated, so I reverted it.The SP1 checkpoint guest lockfile (
provers/sp1/guest-checkpoint/Cargo.lock) contains none of these crates.Is this PR addressing any specification, design doc or external reference document?
If yes, please add relevant links:
Checklist
Local checks:
cargo metadata --lockedresolves andcargo check --locked -p stratabuilds against the bumped crates.cargo audit, unit tests, and functional tests are left to CI.AI assistance: Claude Code ran the
cargo updatecommands, reverted the unrelatedtempfileedge, traced the dependency paths, and drafted this PR description.Related Issues
Fixes RUSTSEC-2026-0381, RUSTSEC-2026-0382, and RUSTSEC-2026-0383.