Rust advisories / convec
Vulnerability HighRUSTSEC-2020-0125 · convec
RUSTSEC-2020-0125: convec::ConVec<T> unconditionally implements Send/Sync
Short answerA security vulnerability in the convec crate: convec::ConVec<T> unconditionally implements Send/Sync. High severity (CVSS 8.1). No fixed version: replace the crate or remove the affected code path.
| Crate | convec |
|---|---|
| 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-36445, GHSA-rpxm-vmr7-5f5f |
What to do
- Find who pulls it in:
cargo tree -i convec. - Avoid the affected API, or replace the crate.
Details from the advisory
Affected versions of this crate unconditionally implement Send/Sync for ConVec<T>. This allows users to insert T that is not Send or not Sync.
This allows users to create data races by using non-Send types like Arc<Cell<_>> or Rc<_> as T in ConVec<T>. It is also possible to create data races by using types like Cell<_> or RefCell<_> as T (types that are Send but not Sync). Such data races can lead to memory corruption.
References
- Package: crates.io/crates/convec
- Advisory: rustsec.org/advisories/RUSTSEC-2020-0125.html
- Report: github.com/krl/convec/issues/2
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?