Lucene search

K
osvGoogleOSV:GHSA-WP34-MQW5-JJ85
HistoryAug 25, 2021 - 8:52 p.m.

Use after free in nano_arena

2021-08-2520:52:00
Google
osv.dev
6
nano_arena
borrow<idx>
split arena
memory safety
use-after-frees
rust's aliasing rules
vulnerability
code correction
commit 6b83f9d

AI Score

9.6

Confidence

High

EPSS

0.005

Percentile

75.7%

Affected versions of this crate assumed that Borrow<Idx> 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<Idx> 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.

AI Score

9.6

Confidence

High

EPSS

0.005

Percentile

75.7%

Related for OSV:GHSA-WP34-MQW5-JJ85