Repository navigation
fix(deps): bump tokio to 1.53.3 for RUSTSEC-2026-0386 - #49
Merged
Merged
Conversation
RUSTSEC-2026-0386 (unsound): `AsyncFd::new` and related constructors violate I/O safety. Patched in tokio >=1.51.6,<1.52.0 and >=1.53.3; the locked 1.52.3 sits in the gap with no fix, so move to 1.53.3. Lockfile-only: only the tokio version and checksum change. `cargo update -p tokio --precise 1.53.3` with cargo 1.97 also rewrites unrelated windows-sys edges (0.61.2 -> 0.52.0), so the two lines were edited by hand to keep the diff minimal. tokio is a transitive dependency (via saorsa-core/saorsa-transport, reqwest/hyper, alloy); no Cargo.toml change. Closes V2-1737 (parent V2-1733). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
grumbach
approved these changes
Oct 27, 2026
grumbach
left a comment
Member
There was a problem hiding this comment.
Checked at f6ae551.
- The diff only changes tokio's version and checksum in
Cargo.lock. Every other file is the same asmain(f388aca). - The new checksum is the crates.io one for tokio 1.53.3. 1.52.3 is affected by RUSTSEC-2026-0386, and 1.53.3 is in the patched range (
>= 1.53.3). - tokio 1.53.3 declares the same dependencies as 1.52.3 (its feature list only adds the empty
schedule-latencyfeature), so the unchanged dependency list is right.cargo metadata --lockedpasses, andcargo tree -i tokioshows a single tokio, 1.53.3. cargo update -p tokio --precise 1.53.3onmainwrites the same tokio entry, but it also rewrites 7 unrelated windows-sys dependency lines. The hand edit avoids that drift.cargo auditno longer reports RUSTSEC-2026-0386 and reports nothing new. RUSTSEC-2026-0387 (crypto-bigint 0.5.5) is also onmain, so it does not come from this PR.- Nothing in this repo or its dependency graph calls the
AsyncFdconstructors that 1.53.3 deprecates. - Between 1.52.3 and 1.53.3, tokio ships small changes and upstream bug fixes (mpsc, timers, runtime shutdown,
io::Chain,DuplexStream) plus the newAsyncFd::registerAPI. I am fine with T1 for this lockfile-only advisory fix. - CI on this head: 12/12 passing.
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.
Linear issue
Closes V2-1737
Part of V2-1733, which tracks the same move across every affected WithAutonomi lockfile.
Risk tier
This tier is proposed rather than asserted, and matches the earlier lockfile advisory moves (V2-1659). The change is lockfile only: tokio moves from 1.52.3 to 1.53.3, and only its version and checksum change. RUSTSEC-2026-0386 is informational ("unsound"). The safe
AsyncFdconstructors violate I/O safety, so closing a duplicated fd can lead to a use-after-free. It is Unix-only. The patched versions are 1.51.6 and 1.53.3 or later. No Autonomi protocol message changes.Compatibility
Semver impact
Test evidence
cargo update --preciseon cargo 1.97 also rewrote unrelated windows-sys edges, so the tokio version and checksum were edited by hand. The checksum is the one cargo itself resolved.cargo metadata --locked: passcargo check --locked --all-targets: passcargo audit: RUSTSEC-2026-0386 is present before the change and gone after. No new advisories.New dependency
none
ADR
n/a
Mitigation / rollback
Revert the single Cargo.lock commit. tokio goes back to 1.52.3.
🤖 Generated with Claude Code