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
- RUSTSEC-2026-0385 · Unknown
- RUSTSEC-2026-0387 · Unknown
- RUSTSEC-2026-0384 · Unknown
- RUSTSEC-2026-0376 · Low
- RUSTSEC-2026-0377 · Low
- 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
Upgrade
RUSTSEC-2026-0386 lists a fix boundary at 1.51.6. Compare the installed build with that boundary before you change production.
Version check
Seen in 0.3.2 → 1.51.6
Advisory
Open the rustsec record and follow its fix.
Official advisories
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.
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
Oct 23, 2026 · OpenSSF OSV / OSV Scanner
Fix available
tokio fixed in 1.51.6
Oct 23, 2026 · OpenSSF OSV / OSV Scanner
Fix available
tokio fixed in 1.51.6
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