{"id":"GHSA-5wjr-9356-4wc8","revision":"9f1f2a6cba154971afa5e75f584ab6e5","records":[{"revision":"9f1f2a6cba154971afa5e75f584ab6e5","observedAt":"2026-10-24T13:19:54.901+00:00","statement":{"source":"osv","id":"GHSA-5wjr-9356-4wc8","aliases":["CVE-2026-115567","RUSTSEC-2026-0384"],"title":"Tokio: Race condition in `tokio::time::Interval`","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-23T20:54:00+00:00","modifiedAt":"2026-10-23T21:10:33.5274799+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":["1.54.0"],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V4","vector":"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","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"MODERATE"}],"references":["https://github.com/tokio-rs/tokio/security/advisories/GHSA-5wjr-9356-4wc8","https://nvd.nist.gov/vuln/detail/CVE-2026-115567","https://github.com/tokio-rs/tokio/pull/8458","https://github.com/tokio-rs/tokio/pull/8692","https://github.com/tokio-rs/tokio/commit/2b4eba7833864c04ecd2f3e5f4a97ff4f6fa28d0","https://github.com/tokio-rs/tokio/commit/5ed619bbaba87357ee5103d71b75e7c84cad99c9","https://github.com/tokio-rs/tokio","https://github.com/tokio-rs/tokio/releases/tag/tokio-1.54.1","https://rustsec.org/advisories/RUSTSEC-2026-0384.html"],"sourceUrl":"https://github.com/advisories/GHSA-5wjr-9356-4wc8","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-5wjr-9356-4wc8","identifiers":["GHSA-5wjr-9356-4wc8","CVE-2026-115567","RUSTSEC-2026-0384"]},"retained":false,"historicalAffected":[]}],"coverage":[]}