Rust advisories / qwutils
Vulnerability MediumRUSTSEC-2021-0018 · qwutils
RUSTSEC-2021-0018: insert_slice_clone can double drop if Clone panics.
Short answerA security vulnerability in the qwutils crate: insert_slice_clone can double drop if Clone panics.. Medium severity (CVSS 5.3). Fixed in 0.3.1: update to a fixed version.
| Crate | qwutils |
|---|---|
| Type | Vulnerability (memory-corruption) |
| Affected versions | Before 0.3.1. |
| Fixed in | 0.3.1 |
| Severity | Medium, CVSS 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| Published | 2021-02-03 |
| Last changed | 2023-11-08 |
| Also known as | CVE-2021-26954, GHSA-68p4-pjpf-xwcq |
| Affected functions | qwutils::imp::vec::VecExt::insert_slice_clone |
What to do
- See which version you have:
cargo tree -i qwutils(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p qwutils. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for exampleqwutils = "0.3.1") or update the dependency that pulls it in. - Check again with
cargo audit, or paste your Cargo.lock into our Cargo.toml checker.
Details from the advisory
Affected versions of this crate used ptr::copy when inserting into the middle of a Vec. When ownership was temporarily duplicated during this copy, it calls the clone method of a user provided element.
This issue can result in an element being double-freed if the clone call panics.
Commit 20cb73d fixed this issue by adding a set_len(0) call before operating on the vector to avoid dropping the elements during a panic.
References
- Package: crates.io/crates/qwutils
- Advisory: rustsec.org/advisories/RUSTSEC-2021-0018.html
- Report: github.com/qwertz19281/rust_utils/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?