deps: bump four dependencies with RUSTSEC advisories - #289
Conversation
cargo audit reports five vulnerabilities on main. This clears four of them via lockfile-only, semver-compatible updates: quinn-proto 0.11.14 -> 0.11.17 RUSTSEC-2026-0185 (7.5 high) h2 0.4.13 -> 0.4.19 RUSTSEC-2026-0258 ruint 1.17.2 -> 1.20.0 RUSTSEC-2026-0220 crossbeam-epoch 0.9.18 -> 0.9.20 RUSTSEC-2026-0204 quinn-proto is the notable one: remote memory exhaustion via unbounded out-of-order stream reassembly, reachable through libp2p-quic when a node is configured with a QUIC multiaddr. The fifth advisory (rmcp, RUSTSEC-2026-0189) is deliberately not included. It requires 0.16 -> 1.4, a major bump needing API migration in crates/quake, which does not belong in a lockfile-only change. cargo audit after this change reports 1 vulnerability, down from 5. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Verified the individual claims, and they all check out — but the baseline moved underneath this PR, which changes the conclusion. Claim verification (all pass):
However — #285 (the v0.8.0 sync, merged this morning) already resolved all five advisories on
This PR was branched before that merge, so its "5 vulnerabilities on main" snapshot describes the pre-#285 lockfile — and the #285 lockfile rewrite is why this PR now shows a merge conflict. A fresh What's left of value here: the only delta this PR would add over One observation that becomes moot on close, but worth noting for any future lockfile PR: the diff carries collateral resolution churn well beyond the four targeted crates — |
|
Thanks for this! We checked against internal Going to close this one out since it's largely superseded, but genuinely appreciate you taking the time to contribute — please keep them coming. |
|
@melekes Confirmed the public mirror matches: current One small suggestion that would have prevented this exact duplicate: the v0.8.0 changelog entry ("Remediate cargo audit advisories via dependency bumps") doesn't name the RUSTSEC IDs. Listing them ( |
Summary
cargo auditreports five vulnerabilities onmain. This clears four of them with lockfile-only, semver-compatible updates.quinn-protoh2ruintcrossbeam-epochAfter:
cargo auditreports 1 vulnerability, down from 5.quinn-protois the notable one. Remote memory exhaustion via unbounded out-of-order stream reassembly, reachable throughlibp2p-quicwhen a node is configured with a QUIC multiaddr (hardcoded_config.rshas a test covering/ip4/127.0.0.1/udp/27000/quic-v1).Not included: rmcp
The fifth advisory, RUSTSEC-2026-0189 on
rmcp 0.16.0, needs0.16 → 1.4. That is a major bump requiring API migration incrates/quake, which does not belong in a lockfile-only change. Left for a separate PR.On the added ark-* entries
The diff adds
ark-ff 0.6.0,ark-serialize 0.6.0,ark-std 0.6.0, andrand_pcg. This is not new dependency surface: the lockfile already carriedark-ff0.3.0, 0.4.2, and 0.5.0, andruint1.20.0 adds optional support for the 0.6.0 line alongside them. These are feature-gated and not enabled by this workspace.Verification
cargo auditconfirms all four advisories clearedcargo check -p arc-evm -p arc-precompilespassesThe
ruintbump was the one worth checking directly, since it backsalloy-primitivesand therefore U256 in the EVM. I verified those two crates type-check; I would suggest letting CI run the full workspace test suite before merging, as I could not run it locally.🤖 Generated with Claude Code