fix(deps): unwedge the security gates — yanked crates + two live advisories - #785
Merged
Merged
Conversation
…sories `main` has had no merge since 2026-08-26 and every open PR is BLOCKED. The cause is not any one PR: the `Cargo deny policy` and `Cargo audit` gates read an advisory database that updates daily, so a lockfile that was green when it merged goes red on its own. Twelve dependabot PRs (#771-#784) fail on this and seven of them fail on nothing else. Lockfile-only, all five semver-compatible — no manifest requirement changes: chacha20 0.10.0 -> 0.10.2 yanked (0.10.1 also yanked); reached through chacha20poly1305 from corecrux-receipts, corecrux-secrets and crux-escrow der 0.8.0 -> 0.8.2 yanked; reached through x509-cert 0.3.0 wnaf 0.14.0 -> 0.14.1 yanked; reached through primeorder -> p256 rustls 0.23.40 -> 0.23.45 RUSTSEC-2026-0285, patched >= 0.23.45: TLS 1.3 handshake messages accepted at the wrong encryption level after a key change in the same record. Reached through ureq from rcx-revocation wasmtime 47.0.3 -> 47.0.4 RUSTSEC-2026-0269 (filesystem sandbox escape on trailing slashes) and RUSTSEC-2026-0268 (guest controlled host heap allocation via WASIp3 streams), both patched >= 47.0.4 wasmtime stays on the 47 line deliberately. `crates/corecruxd/Cargo.toml` declares `wasmtime = "47"`, so 47.0.4 clears both advisories without touching the requirement; dependabot #778 proposes the 48 major bump, which is a real API-surface review and should not ride along with an unwedging change. The `(requires Rust 1.94.0)` note cargo prints on this update is not an MSRV problem: 47.0.3 already declared 1.94.0, the workspace is `resolver = "2"`, and `wasm-extensions` is off by default, so the MSRV (1.88.0) job never builds wasmtime at all. Verified locally against the current advisory DB: cargo deny check -> advisories ok, bans ok, licenses ok, sources ok (exit 0) cargo check --workspace --all-targets -> exit 0, no new warnings Not fixed here, and it will still hold these PRs: runner-hel1 has /srv/data at 92% full, which trips the daemon's `data_dir_capacity` readyz check (free_ratio=0.080 below the 0.100 emergency threshold). Every integration test that waits on health then fails with a bare "not healthy in 10s" — 46 of them on PR #781. That is an ops fix on the runner, not a code change. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
What
mainhas had no merge since 2026-08-26 and all 17 open PRs are blocked. The cause is not any one PR:Cargo deny policyandCargo auditread an advisory database that updates daily, so a lockfile that was green when it merged goes red on its own. Twelve dependabot PRs (#771–#784) fail on this, and seven of them fail on nothing else.This is lockfile-only. All five bumps are semver-compatible; no manifest requirement changes.
chacha20chacha20poly1305fromcorecrux-receipts,corecrux-secrets,crux-escrowderx509-cert0.3.0wnafprimeorder→p256rustls>= 0.23.45. Viaureqfromrcx-revocationwasmtime>= 47.0.4Why wasmtime stays on the 47 line
crates/corecruxd/Cargo.tomldeclareswasmtime = "47", so 47.0.4 clears both advisories without touching the requirement. Dependabot #778 proposes the 48 major bump — that is a real API-surface review and should not ride along with an unwedging change.The
(requires Rust 1.94.0)note cargo prints on this update is not an MSRV problem: 47.0.3 already declaredrust-version = 1.94.0, the workspace isresolver = "2", andwasm-extensionsis off by default, so the MSRV (1.88.0) job never builds wasmtime.Verification
Run locally against the current advisory DB (cargo-deny 0.19.9):
runner-hel1 has
/srv/dataat 92% full. That trips the daemon'sdata_dir_capacityreadyz check:Every integration test that waits on health then fails with a bare
not healthy in 10s— 46 of them on PR #781.TestandCoveragewill keep failing until someone prunes the runner. That is an ops fix, not a code change, and it needs to happen before this merges.Follow-on order
🤖 Generated with Claude Code