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 VendorProductAffected 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.
Timeline
Published15 Dec 2023
Updated6 Mar 2026
First seen6 Mar 2026
Sources
Track software like this
Free during beta