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.
{ "nvd_published_at": null, "cwe_ids": [ "CWE-120" ], "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2024-07-08T18:39:18Z" }