Unratedcrates.ioPublished
Use-after-free when setting the locale
GHSA-c8v3-jhv9-4ppc
- Affected
- crates.io rust-i18n-support >= 3.0.0, < 3.0.1
- Fixed in
- 3.0.1· Vendor fix available
- Issue
- 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::asstr(). AtomicStr::asstr() 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.
Recommended action: Upgrade to 3.0.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.