CVE-2020-36317
Published: 11 April 2021
In the standard library in Rust before 1.49.0, String::retain() function has a panic safety problem. It allows creation of a non-UTF-8 Rust string when the provided closure panics. This bug could result in a memory safety violation when other string APIs assume that UTF-8 encoding is used on the same string.
Notes
Author | Note |
---|---|
litios | on trusty, the vulnerable code is in src/liballoc/string.rs. |
Priority
Status
Package | Release | Status |
---|---|---|
rustc Launchpad, Ubuntu, Debian |
bionic |
Not vulnerable
(1.51.0+dfsg1+llvm-1~exp3ubuntu1~18.04.1)
|
focal |
Released
(1.51.0+dfsg1+llvm-1~exp3ubuntu1~20.04.2)
|
|
groovy |
Ignored
(end of life)
|
|
hirsute |
Ignored
(end of life)
|
|
impish |
Ignored
(end of life)
|
|
jammy |
Not vulnerable
(1.51.0+dfsg1+llvm-1~exp3ubuntu1)
|
|
kinetic |
Ignored
(end of life, was needs-triage)
|
|
lunar |
Not vulnerable
(1.61.0+dfsg1-1~exp1ubuntu1)
|
|
mantic |
Not vulnerable
(1.67.1+dfsg0ubuntu1-0ubuntu2)
|
|
trusty |
Needed
|
|
upstream |
Released
(1.49.0)
|
|
xenial |
Needed
|
Severity score breakdown
Parameter | Value |
---|---|
Base score | 7.5 |
Attack vector | Network |
Attack complexity | Low |
Privileges required | None |
User interaction | None |
Scope | Unchanged |
Confidentiality | None |
Integrity impact | None |
Availability impact | High |
Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |