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.
Published: 2026-10-23
Score: 5.8 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Potential for memory corruption and service disruption due to use‑after‑free
Action: Immediate Patch
AI Analysis

Impact

A race condition between tokio::time::Interval::poll_tick and the multi-threaded runtime’s time driver can drop an internal timer entry without proper synchronization. This use‑after‑free in safe Rust may trigger assertion panics, corrupt a task’s reference count, or corrupt heap memory. The impact includes possible application crashes, denial of service, and if the heap corruption is exploitable, potential arbitrary code execution.

Affected Systems

The Tokio runtime (tokio-rs:tokio) is affected. The vulnerability exists in version 1.54.0 and is fixed in 1.54.1. Users running applications that depend on the 1.54.0 release should be aware that any use of Interval::tick() or poll_tick() may be vulnerable.

Risk and Exploitability

The CVSS score of 5.8 indicates a moderate severity assessment. EPSS data is not available, so the likelihood of exploitation remains uncertain. The vulnerability is not listed in the CISA KEV catalog. Exploitation would require an attacker to launch an application or control code that uses the vulnerable tokio timer logic in a multi-threaded context. While a panic or crash is directly observable, memory corruption could enable further attacks if the attacker can influence the corrupted data. The recommended remediation is to update to a patched version.

Generated by OpenCVE AI on October 23, 2026 at 19:24 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the tokio library to version 1.54.1 or later, which contains the fix.
  • If upgrading is not immediately possible, avoid using Interval::tick() or poll_tick() in your code until the patch is applied, or replace them with alternative timing mechanisms that do not rely on the underlying timer driver.
  • Implement robust error handling around asynchronous tasks and monitor for panics or crashes, and consider deploying application instances behind a controlled runtime that can recover from unexpected termination.

Generated by OpenCVE AI on October 23, 2026 at 19:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-5wjr-9356-4wc8 Tokio: Race condition in `tokio::time::Interval`
History

Tue, 10 Nov 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 03 Nov 2026 16:30:00 +0000

Type Values Removed Values Added
First Time appeared Tokio
Tokio tokio
Vendors & Products Tokio
Tokio tokio

Fri, 23 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
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.
Title Tokio: Race condition in `tokio::time::Interval`
Weaknesses CWE-362
References
Metrics cvssV4_0

{'score': 5.8, '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-29T17:59:47.636Z

Reserved: 2026-10-22T22:53:15.237Z

Link: CVE-2026-115567

cve-icon Vulnrichment

Updated: 2026-10-29T17:59:41.335Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-23T18:17:21.303

Modified: 2026-10-29T18:17:24.127

Link: CVE-2026-115567

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-03T16:15:13Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')