VulnerabilityModified
CVE-2020-36317
It allows creation of a non-UTF-8 Rust string when the provided closure panics.
HIGH 7.5EPSS 1.51%
Does this matter?
High impact if exploited, but EPSS currently rates exploitation as unlikely (1.51%). Schedule it in the normal patch cycle and watch for a rise in EPSS or a public exploit.
Description
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.
- CVSS 3.1
- 7.5 HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- EPSS
- 1.51% probability · 73th percentile
- CISA KEV
- Not listed
- Weakness
- CWE-787
- Affected
- rust-lang/rust
- Source
- cve@mitre.org
References
- https://github.com/rust-lang/rust/issues/78498Exploit, Issue Tracking, Third Party Advisory
- https://github.com/rust-lang/rust/pull/78499Patch, Third Party Advisory
- https://github.com/rust-lang/rust/issues/78498Exploit, Issue Tracking, Third Party Advisory
- https://github.com/rust-lang/rust/pull/78499Patch, Third Party Advisory
Source: NVD record, EPSS from FIRST.org, KEV from CISA. Refreshed daily.