Medium, CVSS 6.9crates.ioPublished
zerovec-derive incorrectly uses #[repr(packed)]
GHSA-74r5-g7vc-j2v2
- Affected
- crates.io zerovec-derive < 0.9.7; >= 0.10.0, < 0.10.3
- Fixed in
- 0.10.30.9.7· Vendor fix available
- Issue
- 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.
Recommended action: Upgrade to 0.10.3 or 0.9.7 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.