Vulnerability MediumRUSTSEC-2024-0347 · zerovec
RUSTSEC-2024-0347: Incorrect usage of `#[repr(packed)]`
Short answerA security vulnerability in the zerovec crate: Incorrect usage of `#[repr(packed)]`. GitHub rates it Medium. Fixed in 0.10.4, 0.9.7: update to a fixed version.
| Crate | zerovec |
|---|---|
| Type | Vulnerability (memory-corruption) |
| Affected versions | Before 0.9.7; from 0.10.0 before 0.10.4. |
| Fixed in | 0.10.4, 0.9.7 |
| Severity | Medium (GitHub rating) |
| Published | 2024-07-01 |
| Last changed | 2025-10-28 |
| Also known as | GHSA-xrv3-jmcp-374j |
What to do
- See which version you have:
cargo tree -i zerovec(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p zerovec. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for examplezerovec = "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.4 use #[repr(C, packed)], which guarantees field order.
References
- Package: crates.io/crates/zerovec
- Advisory: rustsec.org/advisories/RUSTSEC-2024-0347.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: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?