Description
Tokio is a runtime for writing applications with Rust. In 1.54.0, a race condition between tokio::time::Interval::poll_tick (including .tick().await) and the multi-threaded runtime's time driver could drop an internal timer entry without synchronizing with the driver thread that was firing it. The race caused a use-after-free on the timer's waker and task state in safe Rust, which could produce assertion panics, task reference-count corruption, or heap memory corruption. This issue is fixed in 1.54.1.
References6
- github.com/tokio-rs/tokio/commit/2b4eba7833864c04ecd2f3e5f4a97f…
- github.com/tokio-rs/tokio/commit/5ed619bbaba87357ee5103d71b75e7…
- github.com/tokio-rs/tokio/pull/8458
- github.com/tokio-rs/tokio/pull/8692
- github.com/tokio-rs/tokio/releases/tag/tokio-1.54.1
- github.com/tokio-rs/tokio/security/advisories/GHSA-5wjr-9356-4w…
Metrics
- CVSS 4.0
-
5.8
MEDIUM
Score source: CNA
CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - EPSS — exploit probability
- 0% percentile: 1 · as of 8 November 2026
- CWE
- CWE-362
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.