- Reported
-
- Issued
-
- Package
-
byte_struct
(crates.io)
- Type
-
Vulnerability
- Categories
-
- Keywords
-
#memory-safety
- Aliases
-
- References
-
- CVSS Score
- 9.8
CRITICAL
- CVSS Details
-
- Attack Vector
- Network
- Attack Complexity
- Low
- Privileges Required
- None
- User Interaction
- None
- Scope
- Unchanged
- Confidentiality Impact
- High
- Integrity Impact
- High
- Availability Impact
- High
- CVSS Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Patched
-
Description
The read_bytes_default_le function for [T; n] arrays, used to deserialize
arrays of T from bytes created a [T; n] array with std::mem::uninitialized
and then called T's deserialization method.
If T's deserialization method panicked, the uninitialized memory could drop
invalid objects.
This flaw was corrected in a535678 by removing the unsafe block and using
a .map function to deserialize each element of the array instead.
Advisory available under CC0-1.0
license.