servo/rust-smallvec · Security
Use of Uninitialized Resource in smallvec
- GHSA ID
- GHSA-55m5-whcv-c49c
- CVE ID
- CVE-2018-25023
- Severity
- high
- Published
- Updated
- CVSS
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- CVSS v3
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Description
Affected versions of this crate called mem::uninitialized() to create values of a user-supplied type T. This is unsound e.g. if T is a reference type (which must be non-null and thus may not remain uninitialized). The flaw was corrected by avoiding the use of mem::uninitialized(), using MaybeUninit instead.
CWEs
- CWE-908 · Use of Uninitialized Resource
References
- https://nvd.nist.gov/vuln/detail/CVE-2018-25023 ↗
- https://raw.githubusercontent.com/rustsec/advisory-db/main/crates/smallvec/RUSTSEC-2018-0018.md ↗
- https://rustsec.org/advisories/RUSTSEC-2018-0018.html ↗
- https://github.com/servo/rust-smallvec/issues/126 ↗
- https://github.com/servo/rust-smallvec/pull/162 ↗
- https://github.com/servo/rust-smallvec/commit/e64afc8c473d43e375ab42bd33db2d0d4ac4e41b ↗
- https://github.com/advisories/GHSA-55m5-whcv-c49c ↗