Vulnerability Details CVE-2020-36317
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.004
EPSS Ranking 59.8%
CVSS Severity
CVSS v3 Score 7.5
CVSS v2 Score 5.0
Products affected by CVE-2020-36317
-
cpe:2.3:a:rust-lang:rust:0.1
-
cpe:2.3:a:rust-lang:rust:0.10
-
cpe:2.3:a:rust-lang:rust:0.11.0
-
cpe:2.3:a:rust-lang:rust:0.12.0
-
cpe:2.3:a:rust-lang:rust:0.2
-
cpe:2.3:a:rust-lang:rust:0.3
-
cpe:2.3:a:rust-lang:rust:0.3.1
-
cpe:2.3:a:rust-lang:rust:0.4
-
cpe:2.3:a:rust-lang:rust:0.5
-
cpe:2.3:a:rust-lang:rust:0.6
-
cpe:2.3:a:rust-lang:rust:0.7
-
cpe:2.3:a:rust-lang:rust:0.8
-
cpe:2.3:a:rust-lang:rust:0.9
-
cpe:2.3:a:rust-lang:rust:1.0.0
-
cpe:2.3:a:rust-lang:rust:1.1.0
-
cpe:2.3:a:rust-lang:rust:1.10.0
-
cpe:2.3:a:rust-lang:rust:1.11.0
-
cpe:2.3:a:rust-lang:rust:1.12.0
-
cpe:2.3:a:rust-lang:rust:1.12.1
-
cpe:2.3:a:rust-lang:rust:1.13.0
-
cpe:2.3:a:rust-lang:rust:1.14.0
-
cpe:2.3:a:rust-lang:rust:1.15.0
-
cpe:2.3:a:rust-lang:rust:1.15.1
-
cpe:2.3:a:rust-lang:rust:1.16.0
-
cpe:2.3:a:rust-lang:rust:1.17.0
-
cpe:2.3:a:rust-lang:rust:1.18.0
-
cpe:2.3:a:rust-lang:rust:1.19.0
-
cpe:2.3:a:rust-lang:rust:1.2.0
-
cpe:2.3:a:rust-lang:rust:1.20.0
-
cpe:2.3:a:rust-lang:rust:1.21.0
-
cpe:2.3:a:rust-lang:rust:1.22.0
-
cpe:2.3:a:rust-lang:rust:1.22.1
-
cpe:2.3:a:rust-lang:rust:1.23.0
-
cpe:2.3:a:rust-lang:rust:1.24.0
-
cpe:2.3:a:rust-lang:rust:1.24.1
-
cpe:2.3:a:rust-lang:rust:1.25.0
-
cpe:2.3:a:rust-lang:rust:1.26.0
-
cpe:2.3:a:rust-lang:rust:1.26.1
-
cpe:2.3:a:rust-lang:rust:1.26.2
-
cpe:2.3:a:rust-lang:rust:1.27.0
-
cpe:2.3:a:rust-lang:rust:1.27.1
-
cpe:2.3:a:rust-lang:rust:1.27.2
-
cpe:2.3:a:rust-lang:rust:1.28.0
-
cpe:2.3:a:rust-lang:rust:1.29.0
-
cpe:2.3:a:rust-lang:rust:1.29.1
-
cpe:2.3:a:rust-lang:rust:1.29.2
-
cpe:2.3:a:rust-lang:rust:1.3.0
-
cpe:2.3:a:rust-lang:rust:1.30.0
-
cpe:2.3:a:rust-lang:rust:1.30.1
-
cpe:2.3:a:rust-lang:rust:1.31.0
-
cpe:2.3:a:rust-lang:rust:1.31.1
-
cpe:2.3:a:rust-lang:rust:1.32.0
-
cpe:2.3:a:rust-lang:rust:1.33.0
-
cpe:2.3:a:rust-lang:rust:1.34.0
-
cpe:2.3:a:rust-lang:rust:1.34.1
-
cpe:2.3:a:rust-lang:rust:1.34.2
-
cpe:2.3:a:rust-lang:rust:1.35.0
-
cpe:2.3:a:rust-lang:rust:1.36.0
-
cpe:2.3:a:rust-lang:rust:1.37.0
-
cpe:2.3:a:rust-lang:rust:1.38.0
-
cpe:2.3:a:rust-lang:rust:1.39.0
-
cpe:2.3:a:rust-lang:rust:1.4.0
-
cpe:2.3:a:rust-lang:rust:1.40.0
-
cpe:2.3:a:rust-lang:rust:1.41.0
-
cpe:2.3:a:rust-lang:rust:1.41.1
-
cpe:2.3:a:rust-lang:rust:1.42.0
-
cpe:2.3:a:rust-lang:rust:1.43.0
-
cpe:2.3:a:rust-lang:rust:1.43.1
-
cpe:2.3:a:rust-lang:rust:1.44.0
-
cpe:2.3:a:rust-lang:rust:1.44.1
-
cpe:2.3:a:rust-lang:rust:1.45.0
-
cpe:2.3:a:rust-lang:rust:1.45.1
-
cpe:2.3:a:rust-lang:rust:1.45.2
-
cpe:2.3:a:rust-lang:rust:1.46.0
-
cpe:2.3:a:rust-lang:rust:1.47.0
-
cpe:2.3:a:rust-lang:rust:1.48.0
-
cpe:2.3:a:rust-lang:rust:1.5.0
-
cpe:2.3:a:rust-lang:rust:1.6.0
-
cpe:2.3:a:rust-lang:rust:1.7.0
-
cpe:2.3:a:rust-lang:rust:1.8.0
-
cpe:2.3:a:rust-lang:rust:1.9.0