Rust advisories / zerovec-derive
Vulnerability MediumRUSTSEC-2024-0346 · zerovec-derive
RUSTSEC-2024-0346: Incorrect usage of `#[repr(packed)]`
Short answerA security vulnerability in the zerovec-derive crate: Incorrect usage of `#[repr(packed)]`. GitHub rates it Medium. Fixed in 0.10.3, 0.9.7: update to a fixed version.
| Crate | zerovec-derive |
|---|---|
| Type | Vulnerability (memory-corruption) |
| Affected versions | Before 0.9.7; from 0.10.0 before 0.10.3. |
| Fixed in | 0.10.3, 0.9.7 |
| Severity | Medium (GitHub rating) |
| Published | 2024-07-01 |
| Last changed | 2025-10-28 |
| Also known as | GHSA-74r5-g7vc-j2v2 |
What to do
- See which version you have:
cargo tree -i zerovec-derive(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p zerovec-derive. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for examplezerovec-derive = "0.9.7") 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
The affected versions make unsafe memory accesses under the assumption that #[repr(packed)] has a guaranteed field order.
The Rust specification does not guarantee this, and https://github.com/rust-lang/rust/pull/125360 (1.80.0-beta) starts reordering fields of #[repr(packed)] structs, leading to illegal memory accesses.
The patched versions 0.9.7 and 0.10.3 use #[repr(C, packed)], which guarantees field order.
References
- Package: crates.io/crates/zerovec-derive
- Advisory: rustsec.org/advisories/RUSTSEC-2024-0346.html
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
Same cratezerovec-derive: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?