Tokio: Race condition in `tokio::time::Interval`
### Summary On the multi-threaded runtime, there is a race condition between `Interval::poll_tick` and the runtime's time driver. This affects `Interval` only. `Sleep` and `Timeout` are **not** affected. ### Details In 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. This 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. ### Impact This may lead to crashes and use-after-frees in applications using `Interval` on a multi-threaded runtime. Since this issue is known to lead to crashes in production systems, the v1.54.0 release of Tokio has been yanked. ### Credits Thank 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.
beschreibt (1)
Zugehörige CVEs.
| ID | Schweregrad | ausnutzbar | ||
|---|---|---|---|---|
| CVE-2026-115567US | — | — | ||
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… | ||||
Referenzen
Externe Belege — Patches, Meldungen, Analysen.
- https://github.com/tokio-rs/tokioPACKAGE
- https://github.com/tokio-rs/tokio/commit/2b4eba7833864c04ecd2f3e5f4a97ff4f6fa28d0WEB
- https://github.com/tokio-rs/tokio/commit/5ed619bbaba87357ee5103d71b75e7c84cad99c9WEB
- https://github.com/tokio-rs/tokio/pull/8458WEB
- https://github.com/tokio-rs/tokio/pull/8692WEB
- https://github.com/tokio-rs/tokio/releases/tag/tokio-1.54.1WEB
- https://github.com/tokio-rs/tokio/security/advisories/GHSA-5wjr-9356-4wc8WEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-115567ADVISORY
Advisories wie diese benennen die exponierten Produkte, die Angreifer auf Ihrer Angriffsfläche ins Visier nehmen. Sehen Sie mit einem kostenlosen Passiv-Scan, was exponiert ist.
Kostenloser Scan