Rust advisories / rdiff
Unsound HighRUSTSEC-2021-0094 · rdiff
RUSTSEC-2021-0094: Window can read out of bounds if Read instance returns more bytes than buffer size
Short answerrdiff has an API that can cause undefined behaviour from safe code: Window can read out of bounds if Read instance returns more bytes than buffer size. No fixed version yet.
| Crate | rdiff |
|---|---|
| Type | Unsound (memory-exposure) |
| Affected versions | Every version. |
| Fixed in | none |
| Severity | High (GitHub rating) |
| Published | 2021-02-03 |
| Last changed | 2023-11-08 |
| Also known as | CVE-2021-45694, GHSA-2rxc-8f9w-fjq8, GHSA-q579-9wp9-gfp2 |
What to do
- Find who pulls it in:
cargo tree -i rdiff. - Avoid the affected API, or replace the crate.
Details from the advisory
rdiff performs a diff of two provided strings or files. As part of its reading code it uses the return value of a Read instance to set the length of its internal character vector.
If the Read implementation claims that it has read more bytes than the length of the provided buffer, the length of the vector will be set to longer than its capacity. This causes rdiff APIs to return uninitialized memory in its API methods.
References
- Package: crates.io/crates/rdiff
- Advisory: rustsec.org/advisories/RUSTSEC-2021-0094.html
- Report: github.com/dyule/rdiff/issues/3
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?