{"id":"GHSA-g98v-hv3f-hcfr","aliases":["RUSTSEC-2021-0145"],"status":"published","title":"atty potential unaligned read","description":"On windows, `atty` dereferences a potentially unaligned pointer.\n\nIn practice however, the pointer won't be unaligned unless a custom global allocator is used.\n\nIn particular, the `System` allocator on windows uses `HeapAlloc`, which guarantees a large enough alignment.\n\n# atty is Unmaintained\n\nA Pull Request with a fix has been provided over a year ago but the maintainer seems to be unreachable.\n\nLast release of `atty` was almost 3 years ago.\n\n## Possible Alternative(s)\n\nThe below list has not been vetted in any way and may or may not contain alternatives;\n\n- [std::io::IsTerminal](https://doc.rust-lang.org/stable/std/io/trait.IsTerminal.html) - Stable since Rust 1.70.0\n- [is-terminal](https://crates.io/crates/is-terminal) - Standalone crate supporting Rust older than 1.70.0\"","facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"published":"2021-07-04T12:00:00Z","modified":"2026-09-10T03:49:53Z","affected":[{"source":"ghsa","ecosystem":"crates.io","package":"atty","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.2.14"}]}]},{"source":"osv","ecosystem":"crates.io","package":"atty","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"0.2.14"}]}]},{"source":"osv","ecosystem":"crates.io","package":"atty","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"}]}]}],"references":[{"url":"https://github.com/softprops/atty/issues/50","tags":["web","report"]},{"url":"https://github.com/softprops/atty/pull/51","tags":["web"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2021-0145.html","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-g98v-hv3f-hcfr"},{"url":"https://github.com/softprops/atty","tags":["package"]},{"url":"https://crates.io/crates/atty","tags":["package"]},{"url":"https://github.com/softprops/atty/issues/57","tags":["report"]}],"sources":{"ghsa":[{"id":"GHSA-g98v-hv3f-hcfr","title":"atty potential unaligned read","description":"On windows, `atty` dereferences a potentially unaligned pointer.\n\nIn practice however, the pointer won't be unaligned unless a custom global allocator is used.\n\nIn particular, the `System` allocator on windows uses `HeapAlloc`, which guarantees a large enough alignment.\n\n# atty is Unmaintained\n\nA Pull Request with a fix has been provided over a year ago but the maintainer seems to be unreachable.\n\nLast release of `atty` was almost 3 years ago.\n\n## Possible Alternative(s)\n\nThe below list has not been vetted in any way and may or may not contain alternatives;\n\n- [std::io::IsTerminal](https://doc.rust-lang.org/stable/std/io/trait.IsTerminal.html) - Stable since Rust 1.70.0\n- [is-terminal](https://crates.io/crates/is-terminal) - Standalone crate supporting Rust older than 1.70.0\"\n","status":"published","published":"2023-06-30T20:21:59Z","modified":"2024-02-14T17:42:45Z","updated_at":"2026-11-02T14:37:38.20753Z"}],"osv":[{"id":"GHSA-g98v-hv3f-hcfr","title":"atty potential unaligned read","description":"On windows, `atty` dereferences a potentially unaligned pointer.\n\nIn practice however, the pointer won't be unaligned unless a custom global allocator is used.\n\nIn particular, the `System` allocator on windows uses `HeapAlloc`, which guarantees a large enough alignment.\n\n# atty is Unmaintained\n\nA Pull Request with a fix has been provided over a year ago but the maintainer seems to be unreachable.\n\nLast release of `atty` was almost 3 years ago.\n\n## Possible Alternative(s)\n\nThe below list has not been vetted in any way and may or may not contain alternatives;\n\n- [std::io::IsTerminal](https://doc.rust-lang.org/stable/std/io/trait.IsTerminal.html) - Stable since Rust 1.70.0\n- [is-terminal](https://crates.io/crates/is-terminal) - Standalone crate supporting Rust older than 1.70.0\"\n","status":"published","published":"2023-06-30T20:21:59Z","modified":"2026-09-10T03:49:53.897184297Z","updated_at":"2026-11-02T15:46:47.472172Z"},{"id":"RUSTSEC-2021-0145","title":"Potential unaligned read","description":"On windows, `atty` dereferences a potentially unaligned pointer.\n\nIn practice however, the pointer won't be unaligned unless a custom global allocator is used.\n\nIn particular, the `System` allocator on windows uses `HeapAlloc`, which guarantees a large enough alignment.\n\n# atty is Unmaintained\n\nA Pull Request with a fix has been provided over a year ago but the maintainer seems to be unreachable.\n\nLast release of `atty` was almost 3 years ago.\n\n## Possible Alternative(s)\n\nThe below list has not been vetted in any way and may or may not contain alternatives;\n\n - [std::io::IsTerminal](https://doc.rust-lang.org/stable/std/io/trait.IsTerminal.html) - Stable since Rust 1.70.0\n - [is-terminal](https://crates.io/crates/is-terminal) - Standalone crate supporting Rust older than 1.70.0","status":"published","published":"2021-07-04T12:00:00Z","modified":"2023-11-08T04:19:25.814075Z","updated_at":"2026-11-02T15:53:39.492624Z"}]}}
