Rust advisories / rio
Vulnerability CriticalRUSTSEC-2020-0021 · rio
RUSTSEC-2020-0021: rio allows a use-after-free buffer access when a future is leaked
Short answerA security vulnerability in the rio crate: rio allows a use-after-free buffer access when a future is leaked. Critical severity (CVSS 9.8). No fixed version: replace the crate or remove the affected code path.
| Crate | rio |
|---|---|
| Type | Vulnerability (memory-corruption, memory-exposure) |
| Affected versions | Every version. |
| Fixed in | none |
| Severity | Critical, CVSS 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Published | 2020-05-11 |
| Last changed | 2023-11-08 |
| Also known as | CVE-2020-35876, GHSA-8rc5-mr4f-m243 |
What to do
- Find who pulls it in:
cargo tree -i rio. - Avoid the affected API, or replace the crate.
Details from the advisory
When a rio::Completion is leaked, its drop code will not run. The drop code is responsible for waiting until the kernel completes the I/O operation into, or out of, the buffer borrowed by rio::Completion. Leaking the struct will allow one to access and/or drop the buffer, which can lead to a use-after-free, data races or leaking secrets.
Upstream is not interested in fixing the issue.
References
- Package: crates.io/crates/rio
- Advisory: rustsec.org/advisories/RUSTSEC-2020-0021.html
- Report: github.com/spacejam/rio/issues/11
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Up next
Are you affected?Check your whole dependency treePaste Cargo.lock: every advisory, for your exact versions.Read it next →Also worth your time
Did this answer your question?