{"id":"RUSTSEC-2026-0244","aliases":[],"status":"published","title":"`setlocale` and `TextDomain::init` are unsound as they access environment with no synchronization","description":"`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.","facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"published":"2026-08-06T12:00:00Z","modified":"2026-08-09T15:00:04Z","fixes":[{"ecosystem":"crates.io","package":"gettext-rs","fixed_in":["0.8.0"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"crates.io","package":"gettext-rs","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.8.0"}]}]}],"references":[{"url":"https://crates.io/crates/gettext-rs","tags":["package"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2026-0244.html","tags":["advisory"]},{"url":"https://github.com/gettext-rs/gettext-rs/issues/64","tags":["report"]}],"sources":{"osv":[{"id":"RUSTSEC-2026-0244","title":"`setlocale` and `TextDomain::init` are unsound as they access environment with no synchronization","description":"`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.","status":"published","published":"2026-08-06T12:00:00Z","modified":"2026-08-09T15:00:04.155894581Z","updated_at":"2026-11-02T15:53:40.430679Z"}]}}
