Ecosyste.ms: Advisories
An open API service providing security vulnerability metadata for many open source software ecosystems.
Security Advisories: MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXdwMzQtbXF3NS1qajg1
Use after free in nano_arena
Affected versions of this crate assumed that Borrow was guaranteed to return the same value on .borrow(). The borrowed index value was used to retrieve a mutable reference to a value.
If the Borrow implementation returned a different index, the split arena would allow retrieving the index as a mutable reference creating two mutable references to the same element. This violates Rust's aliasing rules and allows for memory safety issues such as writing out of bounds and use-after-frees.
The flaw was corrected in commit 6b83f9d
by storing the .borrow() value in a temporary variable.
JSON: https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXdwMzQtbXF3NS1qajg1
Source: GitHub Advisory Database
Origin: Unspecified
Severity: Critical
Classification: General
Published: over 2 years ago
Updated: 11 months ago
CVSS Score: 9.8
CVSS vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Identifiers: GHSA-wp34-mqw5-jj85, CVE-2021-28032
References:
- https://nvd.nist.gov/vuln/detail/CVE-2021-28032
- https://github.com/bennetthardwick/nano-arena/issues/1
- https://rustsec.org/advisories/RUSTSEC-2021-0031.html
- https://github.com/bennetthardwick/nano-arena/commit/6b83f9d0708337a9f8b709c1624a8587021ceba2
- https://github.com/advisories/GHSA-wp34-mqw5-jj85
Blast Radius: 1.0
Affected Packages
cargo:nano_arena
Dependent packages: 1Dependent repositories: 0
Downloads: 3,058 total
Affected Version Ranges: < 0.5.2
Fixed in: 0.5.2
All affected versions: 0.1.0, 0.1.1, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.5.1
All unaffected versions: 0.5.2