GHSA-c439-chv8-8g2j json
`os_socketaddr` invalidly assumes the memory layout of std::net::SocketAddr
published 4y ago modified 3y ago also RUSTSEC-2022-0052
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- crates.io os_socketaddr 0.2.2
- github.com/a-ba/os_socketaddr@1bc7f71 commit
- github.com/rust-lang/rust#78802 pull request
Is GHSA-c439-chv8-8g2j in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | os_socketaddr | <0.2.2 >=0.0.0-0, <0.2.2 |
0.2.2 |
References
-
github.com
/rust-lang/rust/pull/78802
web
-
github.com
/a-ba/os_socketaddr/commit/1bc7f71d40de069727993a18fdada33eb0b4c94f
web
-
github.com
/a-ba/os_socketaddr/issues/3
web, report
-
github.com
/a-ba/os_socketaddr
package
-
rustsec.org
/advisories/RUSTSEC-2022-0052.html
web, advisory
-
crates.io
/crates/os_socketaddr
package
Sources
- GitHub Advisory GHSA-c439-chv8-8g2j
- OSV RUSTSEC-2022-0052
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.