{"id":"GHSA-c439-chv8-8g2j","summary":"`os_socketaddr` invalidly assumes the memory layout of std::net::SocketAddr","details":"The [`os_socketaddr`](https://crates.io/crates/os_socketaddr) crate has assumed `std::net::SocketAddrV4` and `std::net::SocketAddrV6` have the same memory layout as the system C representation `sockaddr`. It has simply casted the pointers to convert the socket addresses to the system representation.\n\nThese layout were [changed into idiomatic rust types](https://github.com/rust-lang/rust/pull/78802) in nightly `std`. Starting from rustc 1.64 the affected versions of this crate will have undefined behaviour.\n\n","aliases":["RUSTSEC-2022-0052"],"modified":"2023-11-08T04:18:12.374709Z","published":"2022-09-02T22:29:41Z","database_specific":{"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2022-09-02T22:29:41Z","nvd_published_at":null,"cwe_ids":[]},"references":[{"type":"WEB","url":"https://github.com/a-ba/os_socketaddr/issues/3"},{"type":"WEB","url":"https://github.com/rust-lang/rust/pull/78802"},{"type":"WEB","url":"https://github.com/a-ba/os_socketaddr/commit/1bc7f71d40de069727993a18fdada33eb0b4c94f"},{"type":"PACKAGE","url":"https://github.com/a-ba/os_socketaddr"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2022-0052.html"}],"affected":[{"package":{"name":"os_socketaddr","ecosystem":"crates.io","purl":"pkg:cargo/os_socketaddr"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.2.2"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/09/GHSA-c439-chv8-8g2j/GHSA-c439-chv8-8g2j.json"}}],"schema_version":"1.9.0"}