CVE Vulnerabilities

CVE-2020-36323

Use of Externally-Controlled Format String

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

In the standard library in Rust before 1.52.0, there is an optimization for joining strings that can cause uninitialized bytes to be exposed (or the program to crash) if the borrowed string changes after its length is checked.

Weakness

The product uses a function that accepts a format string as an argument, but the format string originates from an external source.

Affected Software

Name Vendor Start Version End Version
Rust Rust-lang * 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/focal *
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 xenial *

Potential Mitigations

References