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.
{
"cwe_ids": [
"CWE-824"
],
"github_reviewed": true,
"nvd_published_at": null,
"severity": "LOW",
"github_reviewed_at": "2025-10-22T16:35:08Z"
}