Vulnerabilities

Vulnerability · RUSTSEC-2026-0386

and related constructors violate I/O safety

Published Oct 13, 2026 · catalog updated Oct 23, 2026 · RustSec Rust

Last checked Oct 24, 2026. A connected source was read within the last 7 days.

Open the advisory

Exploitation likelihood is not on this record for RUSTSEC-2026-0386. A missing EPSS score is not a low risk. Compare RustSec Rust with the linked advisory before you change production.

Gaps on this record

  • No vendor fix or required action is stored. Compare the linked advisory before you change production.
  • EPSS is missing. A missing score is not a low risk.

Same product and reporting

Severity
Unknown—
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
Awaiting synchronization with FIRST
Remediation
Advisory link
Affected products
crates.io tokio

provides safe constructors ( , , , and ) that accept any rather than requiring proof of ownership or validity of the file descriptor. Because implements , safe code can construct an from an arbitrary or closed file descriptor, or close/replace the underlying file descriptor while the is still alive. This violates I/O safety in two ways: 1. implements for all by calling , allowing safe code to obtain an arbitrary without owning the file descriptor. 2. Tokio's I/O driver stores a pointer to an internal allocation in the / user data for registered file descriptors. If the underlying file descriptor is duplicated and then closed while an is alive, and the OS reuses that file descriptor number for a another IO resource on the same runtime, dropping the first deregisters the reused file descriptor number and frees the first while the original file description remains registered in , leading to a use-after-free when a readiness event fires. Starting in Tokio 1.51.6, 1.53.3, and 1.54.0, , , , and are deprecated in favor of the constructors and . Callers must ensure that the file descriptor remains valid, open, and unchanged for the lifetime of the .

Are you affected?

Enter the version you run. The result uses only the ranges stored on this record.

The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.

  • crates.io tokio0.3.2 → 1.51.6

How to fix RUSTSEC-2026-0386

What to do

Three questions, each answered from this record only. Confirm the vendor advisory before you patch.

Should you patch?

Exploitation likelihood is not on this record for RUSTSEC-2026-0386. A missing EPSS score is not a low risk. Compare RustSec Rust with the linked advisory before you change production.

Which versions are affected?

Compare what you have installed with 0.3.2 → 1.51.6. Compare the installed version with the linked vendor advisory before you change production.

What should an analyst verify?

No weakness class is stored. EPSS is not on this record yet. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 13, 2026 · OpenSSF OSV / OSV Scanner

    Detected

    provides safe constructors ( , , , and ) that accept any rather than requiring proof of ownership or validity of the file descriptor. Because implements , safe code can construct an from an arbitrary or closed file descriptor, or close/replace the underlying file descriptor while the is still alive. This violates I/O safety in two ways: 1. implements for all by calling , allowing safe code to obta

  2. Oct 23, 2026 · OpenSSF OSV / OSV Scanner

    Fix available

    tokio fixed in 1.51.6

  3. Oct 23, 2026 · OpenSSF OSV / OSV Scanner

    Fix available

    tokio fixed in 1.51.6

  4. Oct 23, 2026 · OpenSSF OSV / OSV Scanner

    Updated

    provides safe constructors ( , , , and ) that accept any rather than requiring proof of ownership or validity of the file descriptor. Because implements , safe code can construct an from an arbitrary or closed file descriptor, or close/replace the underlying file descriptor while the is still alive. This violates I/O safety in two ways: 1. implements for all by calling , allowing safe code to obta

Sources

  • OpenSSF OSV / OSV ScannerPackage advisoryRUSTSEC-2026-0386

    and related constructors violate I/O safety

    osv.dev
  • RustSec Advisory DBVendor advisoryRUSTSEC-2026-0386

    provides safe constructors ( , , , and ) that accept any rather than requiring proof of ownership or validity of the file descriptor. Because implements , safe code can construct an from an arbitrary or closed file descriptor, or close/replace the underlying file descriptor while

    crates.io

References

Freshness

Last verified in this catalog Oct 23, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.

  • RustSec Advisory DBOct 24, 2026
  • OpenSSF OSV / OSV ScannerOct 23, 2026