{"id":"GHSA-c439-chv8-8g2j","aliases":["RUSTSEC-2022-0052"],"url":"https://o3.security/vulnerability/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","published":"2022-09-02T22:29:41Z","modified":"2023-11-08T04:18:12.374709Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"crates.io","name":"os_socketaddr","fixedVersion":"0.2.2"}],"fix":{"url":"https://github.com/rust-lang/rust/pull/78802","label":"rust-lang/rust#78802"},"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"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2023-11-08T04:18:12.374709Z"}}