Repository navigation
chore(deps): backport webpki-roots and webpki-root-certs 1.0.10 to releases/0.3.0 - #2413
Merged
Merged
Conversation
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.
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. |
Contributor
|
Commit: 1682090 SP1 Execution Results
|
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## releases/0.3.0 #2413 +/- ##
==================================================
+ Coverage 85.25% 86.23% +0.97%
==================================================
Files 649 665 +16
Lines 80713 89356 +8643
==================================================
+ Hits 68814 77058 +8244
- Misses 11899 12298 +399
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
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
Backports the root-store half of #2410 to
releases/0.3.0:webpki-rootswebpki-root-certs1.0.10 of both crates removes
emSign ECC Root CA - G3, the root that lets certificate paths through the distrusted emSign intermediates verify.The other half of #2410,
rustls-webpki0.103.16 for RUSTSEC-2026-0382, can't be backported as a lockfile change. On this branch,reth-mdbx-sysfrom reth v1.9.1 pinscc = "=1.2.15". Everyrustls-webpkirelease from 0.103.10 on needsaws-lc-rs ^1.14, which brings inaws-lc-sys0.31 or later and itscc ^1.2.26build dependency. Cargo can't lock two semver-compatibleccversions, so the resolve fails. The same pin blocksrustls0.23.40+ andbitreq0.3.5+. reth relaxed the pin tocc = "1.2.15"in v1.10.0; every v1.9.x tag keeps=1.2.15.Type of Change
Notes to Reviewers
Root store changes. This skips 1.0.6 through 1.0.9, so it also brings in the Mozilla root store updates from those releases. The 1.0.9 → 1.0.10 step only removes
emSign ECC Root CA - G3. Across 1.0.5 → 1.0.10,TLS_SERVER_ROOTSgoes from 135 to 120 roots. 20 are removed, among themDigiCert Global Root CA,DigiCert High Assurance EV Root CA,DigiCert Assured ID Root CA,COMODO Certification Authority,GTS Root R2, and the three Trustwave Global roots. 5 are added: SECOM TLS ECC/RSA Root CA 2024, Telia EC/RSA TLS Root CA v3, and e-Szigno TLS Root CA 2023.mainalready runs with the 1.0.9 set. A client that trustswebpki-rootswill stop accepting a server whose only chain ends at one of the removed roots.Reachability.
webpki-roots1.0.x compiles into node and EE builds throughhyper-rustls0.27 andreqwest0.12: thejsonrpseeHTTP client, alloy providers,strata-btcio, the OTLP exporter, and reth.webpki-root-certsis a dependency ofrustls-platform-verifier0.5.3 only onwasm32(through the 0.26.11 shim), so it isn't compiled into our builds. It is still inCargo.lock, which is whatcargo auditscans.Still affected after this PR.
cargo auditstill reports:rustls-webpki0.103.4 (rustls 0.23) and 0.101.7 (rustls 0.21)webpki-roots0.25.4rustls-webpki0.101.7 andwebpki-roots0.25.4 come from rustls 0.21 via two crates. One isbitreq0.3.4, thebitcoind-async-clientRPC transport built into the node, which uses TLS only for anhttpsbitcoind URL. The other isreqwest0.11 viaesplora-client0.11 andbdk_esplora0.20, inalpen-cli. Neither the 0.101 line nor the 0.25 line has a fixed release. Getting off them needsbitreq0.3.5+, which theccpin blocks, andbdk_esplora0.21+, which needsbdk_core0.5 and so abdk_walletmajor upgrade.The
cargo-auditcheck doesn't scan this branch.security.ymlonreleases/0.3.0runscargo audit --file audit.toml. That makes cargo-audit readaudit.tomlas the lockfile, so it logsScanning audit.toml for vulnerabilities (0 crate dependencies)and passes (see thecargo-auditjob on #2374).mainfixed this in #2245. The audit numbers here come from a local run of cargo-audit 0.22.2 against the advisory DB as of 2026-10-22: 38 vulnerabilities before and 36 after. The two cleared are RUSTSEC-2026-0381 forwebpki-roots1.0.5 and RUSTSEC-2026-0383. Nothing new appears.Lockfile. Resolved with:
The resolve also moved
data-encoding-macro-internal'ssynedge from 2.0.117 to 1.0.109. It accepts>=1, <3and both versions were already locked. That change is unrelated, so I reverted it, andcargo metadata --lockedaccepts the result. This branch has no.cargo/config.tomlpublish-age cooldown, so no override was needed. The SP1 guest lockfiles (guest-checkpoint,guest-alpen-acct,guest-alpen-chunk) contain 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 strata-btciobuildsreqwest0.12 andhyper-rustls0.27 againstwebpki-roots1.0.10. Unit and functional tests are left to CI.AI assistance: Claude Code ran the
cargo updatecommands, reverted the unrelatedsynedge, traced theccpin and the dependency paths, ran the localcargo audit, compared the root sets, and drafted this PR description.Related Issues
Backport of #2410. Fixes RUSTSEC-2026-0381 (
webpki-roots1.x) and RUSTSEC-2026-0383 onreleases/0.3.0. RUSTSEC-2026-0382 stays open on this branch.