Skip to content

os_str_bytes relies on undefined behavior of `char::from_u32_unchecked`

High severity GitHub Reviewed Published Aug 25, 2021 to the GitHub Advisory Database • Updated Jun 13, 2023

Package

cargo os_str_bytes (Rust)

Affected versions

< 2.0.0

Patched versions

2.0.0

Description

The Windows implementation of this crate relied on the behavior of std::char::from_u32_unchecked when its safety clause is violated. Even though this worked with Rust versions up to 1.42 (at least), that behavior could change with any new Rust version, possibly leading a security issue.

The flaw was corrected in version 2.0.0.

References

Published by the National Vulnerability Database Dec 31, 2020
Reviewed Aug 19, 2021
Published to the GitHub Advisory Database Aug 25, 2021
Last updated Jun 13, 2023

Severity

High
7.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Weaknesses

CVE ID

CVE-2020-35865

GHSA ID

GHSA-q948-x8rf-888m

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.