Vulnerability HighRUSTSEC-2020-0128 · cache
RUSTSEC-2020-0128: Cache<K>: Send/Sync impls needs trait bounds on `K`
Short answerA security vulnerability in the cache crate: Cache<K>: Send/Sync impls needs trait bounds on `K`. High severity (CVSS 8.1). No fixed version: replace the crate or remove the affected code path.
| Crate | cache |
|---|---|
| Type | Vulnerability (memory-corruption, thread-safety) |
| Affected versions | Every version. |
| Fixed in | none |
| Severity | High, CVSS 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Published | 2020-11-24 |
| Last changed | 2023-11-08 |
| Also known as | CVE-2020-36448, GHSA-g78p-g85h-q6ww |
What to do
- Find who pulls it in:
cargo tree -i cache. - Avoid the affected API, or replace the crate.
Details from the advisory
Affected versions of this crate unconditionally implement Send/Sync for Cache<K>. This allows users to insert K that is not Send or not Sync.
This allows users to create data races by using non-Send types like Arc<Cell<T>> or Rc<T> as K in Cache<K>. It is also possible to create data races by using types like Cell<T> or RefCell<T> (types that are Send but not Sync). Such data races can lead to memory corruption.
References
- Package: crates.io/crates/cache
- Advisory: rustsec.org/advisories/RUSTSEC-2020-0128.html
- Report: github.com/krl/cache/issues/1
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Other advisories for cache
Up next
Same cratecache: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?