{"id":"RUSTSEC-2026-0384","revision":"3eb9b96ef3ed4be58a80397b1856b67d","records":[{"revision":"3eb9b96ef3ed4be58a80397b1856b67d","observedAt":"2026-10-24T13:19:54.901+00:00","statement":{"source":"osv","id":"RUSTSEC-2026-0384","aliases":["CVE-2026-115567","GHSA-5wjr-9356-4wc8"],"title":"Race condition in `tokio::time::Interval` on Tokio v1.54.0","description":"## Summary\n\nOn the multi-threaded runtime, there is a race condition between `Interval::poll_tick` and the runtime's time driver.\n\nThis affects `Interval` only. `Sleep` and `Timeout` are **not** affected.\n\n## Details\n\nIn Tokio v1.54.0, a race condition between `tokio::time::Interval::poll_tick` (including `.tick().await`) and the runtime time driver can drop an internal timer entry without synchronizing with the driver thread that is firing it. This causes a data race and use-after-free on the timer's waker and task state in safe Rust, leading to assertion panics, task reference-count corruption, or heap memory corruption.\n\nThis bug was introduced by https://github.com/tokio-rs/tokio/pull/8458, and it was fixed by https://github.com/tokio-rs/tokio/pull/8692.\n\n## Impact\n\nThis may lead to crashes and use-after-frees in applications using `Interval` on a multi-threaded runtime.\n\nSince this issue is known to lead to crashes in production systems, the v1.54.0 release of Tokio has been yanked.\n\n## Credits\n\nThank you to [creepycode](https://github.com/ByteZ1337) and [carabistouille](https://github.com/carabistouflette) for reporting this privately using the procedure outlined in our security policy. They both reported the issue independently of each other.","state":0,"publishedAt":"2026-10-21T12:00:00+00:00","modifiedAt":"2026-10-24T08:30:13+00:00","affected":[{"ecosystem":"crates.io","name":"tokio","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"1.54.0"},{"kind":"fixed","version":"1.54.1"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[],"references":["https://crates.io/crates/tokio","https://rustsec.org/advisories/RUSTSEC-2026-0384.html","https://github.com/tokio-rs/tokio/pull/8692"],"sourceUrl":"https://osv.dev/vulnerability/RUSTSEC-2026-0384","license":"OSV · upstream source license applies","key":"osv:RUSTSEC-2026-0384","identifiers":["RUSTSEC-2026-0384","CVE-2026-115567","GHSA-5wjr-9356-4wc8"]},"retained":false,"historicalAffected":[]}],"coverage":[]}