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
root.io logo minimus.io logo echo.ai logo

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

NameVendorStart VersionEnd Version
RustRust-lang*1.52.0 (excluding)
Red Hat Developer ToolsRedHatrust-toolset-1.52-0:1.52.1-1.el7_9*
Red Hat Developer ToolsRedHatrust-toolset-1.52-rust-0:1.52.1-2.el7_9*
Red Hat Enterprise Linux 8RedHatrust-toolset:rhel8-8040020210603202531.2daa1a95*
RustcUbuntubionic*
RustcUbuntuesm-apps/focal*
RustcUbuntuesm-apps/xenial*
RustcUbuntuesm-infra-legacy/trusty*
RustcUbuntufocal*
RustcUbuntugroovy*
RustcUbuntuhirsute*
RustcUbuntuimpish*
RustcUbuntujammy*
RustcUbuntukinetic*
RustcUbuntutrusty*
RustcUbuntutrusty/esm*
RustcUbuntuxenial*

Potential Mitigations

References