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.
Metrics
CVSS 3.1 7.5/10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| n/a | n/a | n/a |
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
Timeline
- Published
- Apr 11, 2021
- Last modified
- Jun 17, 2026
- NVD status
- Modified