{"id":"GHSA-wcg3-cvx6-7396","summary":"Segmentation fault in time","details":"### Impact\n\nUnix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires an environment variable to be set in a different thread than the affected functions. This may occur without the user's knowledge, notably in a third-party library.\n\nThe affected functions from time 0.2.7 through 0.2.22 are:\n\n- `time::UtcOffset::local_offset_at`\n- `time::UtcOffset::try_local_offset_at`\n- `time::UtcOffset::current_local_offset`\n- `time::UtcOffset::try_current_local_offset`\n- `time::OffsetDateTime::now_local`\n- `time::OffsetDateTime::try_now_local`\n\nThe affected functions in time 0.1 (all versions) are:\n\n- `at`\n- `at_utc`\n- `now`\n\nNon-Unix targets (including Windows and wasm) are unaffected.\n\n### Patches\n\nIn some versions of `time`, the internal method that determines the local offset has been modified to always return `None` on the affected operating systems. This has the effect of returning an `Err` on the `try_*` methods and `UTC` on the non-`try_*` methods. In later versions, `time` will attempt to determine the number of threads running in the process. If the process is single-threaded, the call will proceed as its safety invariant is upheld.\n\nUsers and library authors with time in their dependency tree must perform `cargo update`, which will pull in the updated, unaffected code.\n\nUsers of time 0.1 do not have a patch and must upgrade to an unaffected version: time 0.2.23 or greater or the 0.3 series.\n\n### Workarounds\n\nLibrary authors must ensure that the program only has one running thread at the time of calling any affected method. Binary authors may do the same and/or ensure that no other thread is actively mutating the environment.\n\n### References\n\n[time-rs/time#293](https://github.com/time-rs/time/issues/293).","aliases":["CVE-2020-26235","RUSTSEC-2020-0071"],"modified":"2026-09-10T03:49:08.359875406Z","published":"2021-08-25T20:56:46Z","database_specific":{"nvd_published_at":"2020-11-24T22:15:00Z","cwe_ids":["CWE-476"],"severity":"MODERATE","github_reviewed":true,"github_reviewed_at":"2021-08-18T21:06:21Z"},"references":[{"type":"WEB","url":"https://github.com/time-rs/time/security/advisories/GHSA-wcg3-cvx6-7396"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-26235"},{"type":"WEB","url":"https://github.com/time-rs/time/issues/293"},{"type":"WEB","url":"https://crates.io/crates/time/0.2.23"},{"type":"PACKAGE","url":"https://github.com/time-rs/time"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2020-0071.html"}],"affected":[{"package":{"name":"time","ecosystem":"crates.io","purl":"pkg:cargo/time"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.1.0"},{"fixed":"0.2.23"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-wcg3-cvx6-7396/GHSA-wcg3-cvx6-7396.json","last_known_affected_version_range":"\u003c 0.2.0"}},{"package":{"name":"time","ecosystem":"crates.io","purl":"pkg:cargo/time"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.2.7"},{"fixed":"0.2.23"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-wcg3-cvx6-7396/GHSA-wcg3-cvx6-7396.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}