Unsound MediumRUSTSEC-2020-0073 · image
RUSTSEC-2020-0073: Mutable reference with immutable provenance
Short answerimage has an API that can cause undefined behaviour from safe code: Mutable reference with immutable provenance. Fixed in 0.23.12.
| Crate | image |
|---|---|
| Type | Unsound |
| Affected versions | Before 0.23.12. |
| Fixed in | 0.23.12 |
| Severity | Medium, CVSS 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Published | 2020-11-12 |
| Last changed | 2023-11-08 |
| Also known as | CVE-2020-35916, GHSA-9wgh-vjj7-7433 |
| Affected functions | image::Bgr::from_slice_mut, image::Bgra::from_slice_mut, image::Luma::from_slice_mut, image::LumaA::from_slice_mut, image::Rgb::from_slice_mut, image::Rgba::from_slice_mut |
What to do
- See which version you have:
cargo tree -i image(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p image. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for exampleimage = "0.23.12") or update the dependency that pulls it in. - Check again with
cargo audit, or paste your Cargo.lock into our Cargo.toml checker.
Details from the advisory
A mutable reference to a struct was constructed by dereferencing a pointer obtained from slice::as_ptr. Instead, slice::as_mut_ptr should have been called on the mutable slice argument. The former performs an implicit reborrow as an immutable shared reference which does not allow writing through the derived pointer.
There is no evidence for miscompilation, exploitable or otherwise, caused by this bug. Further investigation on Zulip suggests that the unoptimized generated LLVM IR does not contain any UB itself, effectively mitigating further effects.
References
- Package: crates.io/crates/image
- Advisory: rustsec.org/advisories/RUSTSEC-2020-0073.html
- Report: github.com/image-rs/image/issues/1357
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Other advisories for image
Up next
Same crateimage: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?