CVE Vulnerabilities

CVE-2021-31162

Double Free

Published: Apr 14, 2021 | Modified: Nov 07, 2023
CVSS 3.x
9.8
CRITICAL
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
7.5 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
9.8 MODERATE
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Ubuntu
MEDIUM

In the standard library in Rust before 1.52.0, a double free can occur in the Vec::from_iter function if freeing the element panics.

Weakness

The product calls free() twice on the same memory address, potentially leading to modification of unexpected memory locations.

Affected Software

Name Vendor Start Version End Version
Rust Rust-lang 1.48.0 (including) 1.52.0 (excluding)
Red Hat Developer Tools RedHat rust-toolset-1.52-0:1.52.1-1.el7_9 *
Red Hat Developer Tools RedHat rust-toolset-1.52-rust-0:1.52.1-2.el7_9 *
Red Hat Enterprise Linux 8 RedHat rust-toolset:rhel8-8040020210603202531.2daa1a95 *
Rustc Ubuntu bionic *
Rustc Ubuntu esm-apps/xenial *
Rustc Ubuntu esm-infra-legacy/trusty *
Rustc Ubuntu focal *
Rustc Ubuntu groovy *
Rustc Ubuntu hirsute *
Rustc Ubuntu impish *
Rustc Ubuntu jammy *
Rustc Ubuntu kinetic *
Rustc Ubuntu trusty *
Rustc Ubuntu trusty/esm *
Rustc Ubuntu upstream *
Rustc Ubuntu xenial *

Potential Mitigations

References