GHSA-xcpm-76hf-c9cc
Dashboard / Vulnerabilities / GHSA-xcpm-76hf-c9cc
Summary: Borrowck Scarifices exposes uninitialized memory in any_as_u8_slice
Details: The safe function `any_as_u8_slice` can create byte slices that reference uninitialized memory when used with types containing padding bytes. The function uses `slice::from_raw_parts` to create a `&[u8]` covering the entire size of a type, including padding bytes. According to Rust's documentation, `from_raw_parts` requires all bytes to be properly initialized, but padding bytes in structs are not guaranteed to be initialized. This violates the safety contract and causes undefined behavior.
References: https://github.com/alexpyattaev/borrowck_sacrifices/issues/1, https://github.com/alexpyattaev/borrowck_sacrifices/commit/1bdaa14da68a6e8207f9e81359116f53139800f2, https://github.com/alexpyattaev/borrowck_sacrifices, https://rustsec.org/advisories/RUSTSEC-2025-0107.html
Affected packages
Package
Name: borrowck_sacrifices
Purl: pkg:cargo/borrowck_sacrifices
Affected ranges
Type: SEMVER
Events:
