Track vulnerabilities like this one.
Sign up free to get alerted when software you use is affected.
Rust's Ref methods can cause unexpected behavior with cell::Ref and cell::RefMut
published 2 years ago
Summary
Rust's Ref methods, into_ref, into_mut, into_slice, and into_slice_mut, can cause unexpected behavior when used with cell::Ref or cell::RefMut. This can affect safe code, leading to undefined behavior. The issue will be fixed by removing the affected versions of the software.
What to do
- Update jswrenn zerocopy to version 0.2.9.
- Update jswrenn zerocopy to version 0.3.2.
- Update jswrenn zerocopy to version 0.4.1.
- Update jswrenn zerocopy to version 0.5.2.
- Update jswrenn zerocopy to version 0.6.6.
- Update jswrenn zerocopy to version 0.7.31.
Affected software
| Ecosystem | Vendor | Product | Affected versions |
|---|---|---|---|
| rust | jswrenn | zerocopy |
>= 0.2.2, < 0.2.9 >= 0.3.0, < 0.3.2 0.4.0 >= 0.5.0, < 0.5.2 >= 0.6.0, < 0.6.6 >= 0.7.0, < 0.7.31 Fix: upgrade to 0.2.9
|
Original advisory text
Ref methods into_ref, into_mut, into_slice, and into_slice_mut are unsound when used with cell::Ref or cell::RefMut
*This advisory is also published as [RUSTSEC-2023-0074](https://rustsec.org/advisories/RUSTSEC-2023-0074.html).*
The `Ref` methods `into_ref`, `into_mut`, `into_slice`, and `into_slice_mut` are unsound and may allow safe code to exhibit undefined behavior when used with `Ref<B, T>` where `B` is [`cell::Ref`](https://doc.rust-lang.org/core/cell/struct.Ref.html) or [`cell::RefMut`](https://doc.rust-lang.org/core/cell/struct.RefMut.html). Note that these methods remain sound when used with `B` types other than `cell::Ref` or `cell::RefMut`.
See https://github.com/google/zerocopy/issues/716 for a more in-depth analysis.
The current plan is to yank the affected versions soon. See https://github.com/google/zerocopy/issues/679 for more detail.
The `Ref` methods `into_ref`, `into_mut`, `into_slice`, and `into_slice_mut` are unsound and may allow safe code to exhibit undefined behavior when used with `Ref<B, T>` where `B` is [`cell::Ref`](https://doc.rust-lang.org/core/cell/struct.Ref.html) or [`cell::RefMut`](https://doc.rust-lang.org/core/cell/struct.RefMut.html). Note that these methods remain sound when used with `B` types other than `cell::Ref` or `cell::RefMut`.
See https://github.com/google/zerocopy/issues/716 for a more in-depth analysis.
The current plan is to yank the affected versions soon. See https://github.com/google/zerocopy/issues/679 for more detail.
Timeline
Published15 Dec 2023
Updated6 Mar 2026
First seen6 Mar 2026
Sources
GHSA-3mv5-343c-w2qg · GHSA
Track software like this
Free during beta