Conversation
Bump h2, anyhow, rand, and chacha20 to patched versions to clear RUSTSEC-2026-0258 (h2 unbounded empty DATA frames), RUSTSEC-2026-0190 (anyhow downcast_mut unsoundness), RUSTSEC-2026-0097 (rand unsound with a custom logger), and the chacha20 0.10.1 yank. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WwfLs3zHKpxg6mB8XbGtLG
|
Claude finished @alukach's task in 1m 28s —— View job Todo
✅ No blocking issues — safe to merge. This diff is
No security concerns beyond what the advisories themselves already describe (which this PR resolves), and nothing here reflects a best-practice violation — it's a clean Simplify (ponytail)No findings — a lockfile-only diff has no code, abstractions, or dependencies to simplify. 💰 Estimated review cost: $0.37 · 1m28s · 19 turns |
|
Generated by Claude Code |
|
Re-ran
No new advisories beyond what's already fixed here, so skipping a duplicate PR per the scheduled task's dedup check. Generated by Claude Code |
|
Re-ran
Since this PR's diff doesn't cover it, I opened #145 with just the Generated by Claude Code |
|
Today's scheduled Flagging for whoever merges this: Generated by Claude Code |
|
Today's scheduled This PR has now been open 20 days without merging, and Generated by Claude Code |
|
Ran the scheduled Flagging that this PR has been open since 2026-09-01 and CI is currently red (Smoke Test job failing). Worth a rebase/refresh and a look at the smoke test failure before merging. Generated by Claude Code |
Folds in the remaining bumps from #142 (anyhow: RUSTSEC-2026-0190). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
main advanced since this PR was opened and picked up a rustls advisory published 2026-09-14 (TLS 1.3 handshake messages accepted across encryption level boundaries). Bump rustls 0.23.37 -> 0.23.45 to clear it; cargo pulled aws-lc-rs/aws-lc-sys/rustls-webpki forward alongside it to satisfy rustls's updated dependency requirements. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WwfLs3zHKpxg6mB8XbGtLG
|
Superseded by #145 |
* chore(deps): resolve cargo audit advisories RUSTSEC-2026-0285: rustls 0.23.37 incorrectly accepts TLS 1.3 handshake messages across encryption level boundaries. Bump to 0.23.45 (the patched release). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019j5JA1n6MdcHEUbRVnABXE * chore(deps): bump h2 to 0.4.19 (RUSTSEC-2026-0258) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore(deps): bump anyhow to 1.0.104 and chacha20 to 0.10.2 Folds in the remaining bumps from #142 (anyhow: RUSTSEC-2026-0190). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
What I'm changing
cargo auditonmainreported one actual vulnerability and several soundness/yank warnings:h20.4.13 is vulnerable to unbounded empty DATA frames (a resource-exhaustion DoS vector). This was the one advisory failing the CIAuditjob.anyhow1.0.102'sError::downcast_mut()is unsound (constructs an aliased mutable reference, UB under Stacked Borrows).rand0.8.5/0.9.2 are unsound when a customloglogger calls intorand::rng()/rand::thread_rng()during reseeding.chacha200.10.1 was yanked from crates.io; 0.10.2 is the current release.None of these are direct dependencies — all are pulled in transitively (
h2/rand/chacha20viareqwest/object_store,anyhowvia various crates), so noCargo.tomlchanges were needed, onlyCargo.lockupdates within existing semver ranges.Update (2026-09-24): after merging
mainin (which had advanced ~3 weeks since this PR opened),Auditfailed again on a new advisory published in the interim:rustls0.23.37 incorrectly accepts TLS 1.3 handshake messages across encryption level boundaries (medium severity, published 2026-09-14). Fixed by bumping to 0.23.45.How I did it
cargo update -p h2 --precise 0.4.16— clears RUSTSEC-2026-0258.cargo update -p anyhow --precise 1.0.103— clears RUSTSEC-2026-0190.cargo update -p rand@0.8.5 --precise 0.8.6andcargo update -p rand@0.9.2 --precise 0.9.3— clears RUSTSEC-2026-0097 for both rand lines in the tree.cargo update -p chacha20 --precise 0.10.2— clears the yanked-crate warning.cargo update -p rustls --precise 0.23.45— clears RUSTSEC-2026-0285 (found after mergingmain). Cargo pulledaws-lc-rs/aws-lc-sys/rustls-webpkiforward alongside it to satisfy rustls's updated dependency requirements.Cargo.lockalso picked up a handful ofmultistore-*workspace-member entries moving from0.7.1to0.7.2, matching the version already set inCargo.toml/workspace.package— the lockfile was stale relative to that prior release bump and got resynced as a side effect ofcargo update.errno,rustls-platform-verifier, andwinapi-utilmove fromwindows-sys0.61.2 to 0.60.2 (the versionsocket2already uses) as a resolver side effect of the lockfile refresh — not related to any advisory.windows-sysonly affects Windows builds (this project targets Linux/wasm32) and 0.60.2 carries no known advisory, so this is left as-is. (Correction: an earlier revision of this description attributed this toring'swindows-sys = "^0.52"pin forcing a downgrade to 0.52.0 — that was accurate against the original Sept 1 diff, butmainindependently normalized things in the interim,ringstill sits alone on its own 0.52.0 entry, and the current diff is a smaller 0.61.2→0.60.2 move unrelated toring.)Not fixed
spin0.9.8 — yanked. Pulled in transitively vialazy_static(required byrsa→multistore-oidc-provider/multistore-sts), which pinsspin = "^0.9.8". The only newer release (0.10.1) is semver-incompatible with that requirement, so it can't be bumped without an upstream fix inlazy_static(or dropping it from the dependency tree). This is a yank warning, not a CVE.Test plan
cargo audit— no vulnerabilities; only thespinyank warning remains (unfixable, see above)cargo checkcargo check -p multistore-cf-workers --target wasm32-unknown-unknowncargo test(default workspace members)cargo fmt --checkcargo clippy -- -D warnings