{"id":"RUSTSEC-2026-0244","summary":"`setlocale` and `TextDomain::init` are unsound as they access environment with no synchronization","details":"`setlocale` and `TextDomain::init` are unsound and may allow safe code to exhibit undefined behavior when called in a multi-threaded program.\n\nThe flaw is fixed in 0.8.0 by marking these functions `unsafe` and documenting the conditions under which they can be called safely.","modified":"2026-08-09T15:00:02.879930956Z","published":"2026-08-06T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/gettext-rs"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2026-0244.html"},{"type":"REPORT","url":"https://github.com/gettext-rs/gettext-rs/issues/64"}],"affected":[{"package":{"name":"gettext-rs","ecosystem":"crates.io","purl":"pkg:cargo/gettext-rs"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.8.0"}]}],"ecosystem_specific":{"affects":{"functions":["gettext_rs::TextDomain::init","gettext_rs::setlocale"],"arch":[],"os":[]},"affected_functions":null},"database_specific":{"cvss":null,"informational":"unsound","categories":["memory-corruption","thread-safety"],"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0244.json"}}],"schema_version":"1.8.0"}