Add unsound advisory for lockfree - #3174
Conversation
|
Commented in the upstream issue and mentioned the maintainer. If there's been no change in a week, feel free to ping me. |
|
@djc I'll ping you in a week if there's no change. |
|
@djc |
|
Sent a private email to the maintainer. Let's give it one more week. |
|
@djc |
|
@djc OwnedAlloc::drop_in_place destroys the value before mem::forget, so a That one may be unmaintained too. How would you like to handle it? |
Submit a separate PR for an advisory? If the maintainer continues to be unresponsive we can cut the waiting period short. |
Affected crate(s)
lockfree(601,950 recent downloads per crates.io)Links to upstream issue(s) or PR(s)
https://gitlab.com/bzim/lockfree/-/issues/7
Severity
Two independent soundness problems, both reachable from safe Rust and confirmed with sanitizers.
Map::into_iterdrops the caller-supplied hasher before committing withmem::forget(self), so a panickingH::dropleaves the unwindingMapto drop it again — use-after-free / double-free under AddressSanitizer, with an empty map.SharedIncin::clearwritesmem::uninitialized::<Arc<_>>()into a live field, which Miri reports as undefined behavior with no panic or concurrency involved; the macro is instantiated five times. No fixed release.Checklist
RUSTSEC-0000-0000as the IDdatefield is set to the public disclosure date