HistoryEdit

RUSTSEC-2020-0103

impl Random on arrays can lead to dropping uninitialized memory

Reported
Issued
Package
autorand (crates.io)
Type
Vulnerability
Categories
Aliases
Details
https://github.com/mersinvald/autorand-rs/issues/5
CVSS Score
7.8 HIGH
CVSS Details
Attack vector
Local
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Patched
  • >=0.2.3

Description

Affected versions of this crate had a panic safety issue to drop partially uninitialized array of T upon panic in a user provided function T::random(). Dropping uninitialized T can potentially cause memory corruption or undefined behavior.

The flaw was corrected in commit 565d508 by using MaybeUninit<T> to avoid possible dropping of uninitialized memory upon panic.