Repository navigation
chore(deps): bump quinn-proto, h2, rkyv and crossbeam-epoch past RustSec advisories - #718
Conversation
…am-epoch to 0.9.21 to pick up RustSec fixes. quinn-proto 0.11.14, behind libp2p-quic, let any QUIC peer exhaust memory through unbounded out-of-order stream reassembly (RUSTSEC-2026-0185) and pending connection-ID retirements (RUSTSEC-2026-0339). Lockfile only, through make update so the publish-age cooldown applies; rustls waits for rustls-webpki 0.103.16 to clear it.
🤖 Kimi Code ReviewI'll review this PR diff focusing on the relevant changes. This appears to be primarily a dependency update in Critical Issues1.
|
| Severity | Issue | Location |
|---|---|---|
| 🔴 High | syn downgrade 2→1 and introduction of 3.x |
Lines 1487, 6253 |
| 🔴 High | rand 0.9→0.10 major bump |
Line 5815 |
| 🟡 Medium | getrandom version split 0.3/0.4 |
Lines 2870-2889 |
| 🟡 Medium | rkyv with syn 3.x for derived serialization |
Lines 6234-6253 |
| 🟢 Low | socket2 downgrade |
Lines 3267, 5839 |
The Cargo.lock changes suggest this was a broad cargo update rather than targeted updates. For consensus-critical code, prefer targeted updates with explicit changelog review.
Automated review by Kimi (Moonshot AI) · kimi-k2.6 · custom prompt
🤖 Claude Code ReviewReview of PR 718: lockfile-only security bump The change looks good. It takes the right fixes and keeps to the stated scope. I only read the diff and did not build or run What I checked
Notes (non-blocking)
The PR documents what it leaves out and why: Verdict: approve, subject to the QUIC smoke test and the cooldown check from the notes. Automated review by Claude (Anthropic) · sonnet · custom prompt |
🤖 Codex Code ReviewI only see a
No blocking correctness bug is evident from the diff alone, but I would leave one concise review note:
If you want, I can also do a second pass by tracing where Automated review by OpenAI Codex · gpt-5.4 · custom prompt |
🗒️ Description / Motivation
cargo auditagainstmainreports 23 advisories. One of them can be triggered remotely by any peer:quinn-proto0.11.14, the QUIC implementation behind libp2p-quic, our primary transport, is open to remote memory exhaustion from unbounded out-of-order stream reassembly (RUSTSEC-2026-0185, CVSS 7.5) and to unbounded growth of pending connection-ID retirements (RUSTSEC-2026-0339). Both need no authentication.This PR takes every fix that already clears the 14-day publish-age cooldown and needs nothing but a lockfile change.
What Changed
Cargo.lockonly, viamake update UPDATE_ARGS="-p quinn-proto -p h2 -p rkyv -p crossbeam-epoch"(so the cooldown is applied):quinn-protoh2rkyv/rkyv_derivecrossbeam-epochfmt::Pointeron an invalid pointer)quinn-proto0.11.19 adds one new transitive dependency,rand_pcg0.10.2.Correctness / Behavior Guarantees
Cargo.toml.make cooldown-checkpasses.Deliberately left out
rustls(0285, 0346, 0348, 0349),rustls-webpki(0382),webpki-roots(0381)rustls(≥ 0.23.45) needsrustls-webpki0.103.16, published 2026-10-20, which is still inside the cooldown: the resolver stops atrustls0.23.43, which fixes none of them. A follow-up after 2026-11-03 picks all three up together.crypto-bigint0.5.5 (0387)elliptic-curve/k256major bump.ruint1.18.0 (0220)xmss→ethereum_ssz; the fix pulls inark-ff0.6, so it belongs with a leanVM bump.hickory-proto(0118, 0119),quick-xml(0194, 0195),zstd-sys(0410)full) but unused,quick-xmlonly servesinferno's SVG output underjemalloc_pprof, and thezstd-sysissue is wasm-only.After this PR
cargo auditreports 13 advisories, none of them inquinn-proto,h2,rkyvorcrossbeam-epoch.Tests Added / Run
None added: no source touched.
make cooldown-check: passesmake lint: cleanmake test: 2859 passed, 0 failedcargo audit: 23 → 13 advisoriesRelated Issues / PRs
rustls/rustls-webpki/webpki-rootsoncerustls-webpki0.103.16 clears the cooldown (2026-11-03).✅ Verification Checklist
make fmt— cleanmake lint(clippy with-D warnings) — cleanmake test(test-consensusplustest-node, atrelease-fast) — all passing