The vulnerability stems from the slice trait implementations that use ptr::read to create a duplicate ownership of values while performing endian conversions. All four methods (from_be, from_le, to_be, to_le) in the Endian impl for mutable slices contain unsafe blocks that: 1. Read the value with ptr::read (creating a new owned value) 2. Perform user-provided conversion (which might panic) 3. Write back with ptr::write. If the user's Endian impl panics between steps 1-3, both the original slice element and the ptr::read-created value will be dropped, causing a double free. The GitLab issue explicitly shows this pattern in src/slices.rs and provides a PoC demonstrating heap corruption through this mechanism.