VDB
Sign up
HIGH

GHSA-c439-chv8-8g2j

`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.

These 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.

Are you affected?

Enter the version of the package you're using.

Affected packages

crates.io/os_socketaddr
Introduced in: 0Fixed in: 0.2.2

Upgrade os_socketaddr to 0.2.2 or newer (ecosystem crates.io).

References