Skip to content
OpenAdvisories
Medium GHSA-c8v3-jhv9-4ppc RUSTSEC-2024-0007

Use-after-free when setting the locale

Published Jan 23, 2024 · Updated Feb 10, 2024 · Assigned by GHSA

Description

Version 3.0.0 introduced an `AtomicStr` type, that is used to store the current locale. It stores the locale as a raw pointer to an `Arc<String>`. The locale can be read with `AtomicStr::as_str()`. `AtomicStr::as_str()` does not increment the usage counter of the `Arc`.

If the locale is changed in one thread, another thread can have a stale -- possibly already freed -- reference to the stored string.

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io rust-i18n-support >= 3.0.0, < 3.0.1 3.0.1 GHSA-c8v3-jhv9-4ppc

References