{"id":"GHSA-xcpm-76hf-c9cc","aliases":["RUSTSEC-2025-0107"],"url":"https://o3.security/vulnerability/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.\n\nThe 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.","published":"2025-10-22T16:35:08Z","modified":"2025-10-28T06:29:26.916895Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"crates.io","name":"borrowck_sacrifices","fixedVersion":"0.2.0"}],"fix":{"url":"https://github.com/alexpyattaev/borrowck_sacrifices/commit/1bdaa14da68a6e8207f9e81359116f53139800f2","label":"alexpyattaev/borrowck_sacrifices@1bdaa14"},"references":[{"type":"WEB","url":"https://github.com/alexpyattaev/borrowck_sacrifices/issues/1"},{"type":"WEB","url":"https://github.com/alexpyattaev/borrowck_sacrifices/commit/1bdaa14da68a6e8207f9e81359116f53139800f2"},{"type":"PACKAGE","url":"https://github.com/alexpyattaev/borrowck_sacrifices"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2025-0107.html"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2025-10-28T06:29:26.916895Z"}}