Repository navigation
chore(deps): update rust crate tokio to v1.53.3 [security] - #484
Conversation
🟢 Tier S · Ready to merge
Updates the Rust starter lockfile from Tokio 1.52.1 to 1.53.3, along with the associated Windows dependency references. The manifest continues to use its existing compatible Tokio version constraint.
Note @renovate-appwrite[bot] does not have write access to this repository, so Hansi does not approve automatically. A maintainer can review and approve. 📂 Walkthrough · 1
Reviewed |
08da8a7 to
8a24047
Compare
|
@hansi-codes review |
|
@appwrite review |
🟢 Tier S · Ready to mergeThe Rust starter lockfile advances Tokio from 1.52.1 to 1.53.3. It also updates the selected
📂 Walkthrough · 1
Reviewed |
This PR contains the following updates:
1.52.1→1.53.3Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
AsyncFd::newand related constructors violate I/O safetyRUSTSEC-2026-0386
More information
Details
tokio::io::unix::AsyncFdprovides safe constructors (new,with_interest,try_new, andtry_with_interest) that accept anyT: AsRawFdrather than requiring proof of ownership or validity of the file descriptor. BecauseRawFdimplementsAsRawFd, safe code can construct anAsyncFdfrom an arbitrary or closed file descriptor, or close/replace the underlying file descriptor while theAsyncFdis still alive.This violates I/O safety in two ways:
AsyncFd<T>implementsAsFdfor allT: AsRawFdby callingBorrowedFd::borrow_raw(self.as_raw_fd()), allowing safe code to obtain an arbitraryBorrowedFd<'_>without owning the file descriptor.epoll/kqueueuser data for registered file descriptors. If the underlying file descriptor is duplicated and then closed while anAsyncFdis alive, and the OS reuses that file descriptor number for a another IO resource on the same runtime, dropping the firstAsyncFdderegisters the reused file descriptor number and frees the first while the original file description remains registered inepoll, leading to a use-after-free when a readiness event fires.Starting in Tokio 1.51.6, 1.53.3, and 1.54.0,
AsyncFd::new,AsyncFd::with_interest,AsyncFd::try_new, andAsyncFd::try_with_interestare deprecated in favor of theunsafeconstructorsAsyncFd::registerandAsyncFd::register_with_interest. Callers must ensure that the file descriptor remains valid, open, and unchanged for the lifetime of theAsyncFd.Severity
Unknown
References
This data is provided by OSV and the Rust Advisory Database (CC0 1.0).
Release Notes
tokio-rs/tokio (tokio)
v1.53.3: Tokio v1.53.3Compare Source
1.53.3 (October 13th, 2026)
Added
AsyncFd::registerandAsyncFd::register_with_interest(#8587)Changed
AsyncFd::{new, with_interest, try_new, try_with_interest}(#8587)Fixed
DuplexStreamwakers outside the lock (#8618)unreachable_codeinjoin!andtry_join!forInfallible(#8518)current_thread(#8595)Fixed (unstable)
io_uringop alive when submission fails after push (#8185)v1.53.2: Tokio v1.53.2Compare Source
1.53.2 (October 3rd, 2026)
Fixed
AsyncFdregistration list on deregister" (#8540)Permitbefore sending value (#8560)MAX_PERMITSinSemaphore::acquire(#8548)Sender::closedoutside mutex (#8558)JoinSet(#8554)clear_entry(#8552)Fixed (unstable)
io_uringread length tou32::MAX(#8572)current_threadtask dumps from other runtimes (#8544)io_uringcontext if a completion waker panics (#8566)v1.53.1: Tokio v1.53.1Compare Source
1.53.1 (July 20th, 2026)
Fixed
OnceLock::waitfrom the Windows handler (#8300)Fixed (unstable)
Documented
v1.53.0: Tokio v1.53.0Compare Source
1.53.0 (July 17th, 2026)
Added
From<OwnedFd>andFrom<OwnedHandle>forFile(#8266)SocketAddrmethods to Unix sockets (#8144)Changed
#[inline]to IO trait impls for in-memory types (#8242)mpsc::{Receiver,UnboundedReceiver}now drops waker on drop, even if there are still senders (#8095)#[track_caller]totimeout_at()(#8077)Sleep(#8132)Fixed
Chain(#8251)FastRand(#8078)reserve[_many]returns permits (#8260)Trace::capture/Trace::trace_with(#8043).reset()(#8169)IO uring (unstable)
fs::try_exists(#8080)Documented
create_dir_allsucceeds if path exists (#8149)try_read*/try_write*readiness behavior (#8032)yield_nowdefers its waker (#8254)timeout_at()(#8077)v1.52.4: Tokio v1.52.4Compare Source
1.52.4 (July 16th, 2026)
Fixed
before_parkschedules work (#8222)Fixed (unstable)
v1.52.3: Tokio v1.52.3Compare Source
1.52.3 (May 8th, 2026)
Fixed
len()(#8062)OwnedPermit::release()method (#8075)RwLockhasmax_readers != 0(#8076)Emptyfromtry_recv()when mpsc is closed with outstanding permits (#8074)v1.52.2: Tokio v1.52.2Compare Source
1.52.2 (May 4th, 2026)
This release reverts the LIFO slot stealing change introduced in 1.51.0 (#7431), due to its performance impact. (#8100)
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.