GitHub Advisoryadvisory · crates.io
GHSA-c8v3-jhv9-4ppc Use-after-free when setting the locale
MEDIUM
Official page ↗
- Ecosystem
- crates.io
- Packages
- rust-i18n-support
- Severity
- Moderate
- Weaknesses
- CWE-416
- Reviewed
- 2024-01-23
Affected packages
• crates.io rust-i18n-support: >= 3.0.0, < 3.0.1 → fixed in 3.0.1
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`. 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.
Related
Weakness · CWE (1)
- CWE-416 Use After Free weakness