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.
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/VZG65GUW6Z2CYOQHF7T3TB5CZKIX6ZJE/
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TFUO3URYCO73D2Q4WYJBWAMJWGGVXQO4/
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CZ337CM4GFJLRDFVQCGC7J25V65JXOG5/
https://github.com/rust-lang/rust/pull/81728#issuecomment-824904190
https://github.com/rust-lang/rust/pull/81728#issuecomment-821549174
https://github.com/rust-lang/rust/pull/81728
https://github.com/rust-lang/rust/issues/80335
Source: Mitre, NVD
Published: 2021-04-14
Updated: 2023-11-07
Base Score: 6.4
Vector: CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:P
Severity: Medium
Base Score: 8.2
Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
Severity: High
EPSS: 0.00105