{ "schema_version": "1.4.0", "id": "GHSA-c439-chv8-8g2j", "modified": "2022-09-02T22:29:41Z", "published": "2022-09-02T22:29:41Z", "aliases": [], "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", "severity": [], "affected": [ { "package": { "ecosystem": "crates.io", "name": "os_socketaddr" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "0" }, { "fixed": "0.2.2" } ] } ] } ], "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" } ], "database_specific": { "cwe_ids": [], "severity": "HIGH", "github_reviewed": true, "github_reviewed_at": "2022-09-02T22:29:41Z", "nvd_published_at": null } }