UnsoundRUSTSEC-2025-0167 · bitmaps
RUSTSEC-2025-0167: `Bitmap::try_from(&[u8])` can create invalid values
Short answerbitmaps has an API that can cause undefined behaviour from safe code: `Bitmap::try_from(&[u8])` can create invalid values. No fixed version yet.
| Crate | bitmaps |
|---|---|
| Type | Unsound (memory-corruption) |
| Affected versions | From 3.2.0 onward (every version). |
| Fixed in | none |
| Severity | not scored |
| Published | 2025-12-25 |
| Last changed | 2026-08-10 |
| Also known as | none |
What to do
- Find who pulls it in:
cargo tree -i bitmaps. - Avoid the affected API, or replace the crate.
Details from the advisory
The TryFrom<&[u8]> implementation for Bitmap<SIZE> copies the input bytes into an uninitialized backing store and calls assume_init() without validating that the bytes form a valid value of the backing store type. For SIZE = 1 the backing store is a bool, so any input byte other than 0x00 or 0x01 produces an invalid value, which is immediate undefined behavior.
The AsMut<[u8]> implementation has the same problem, as it allows safe code to write invalid bit patterns into the backing store through the returned slice.
No fixed version is available, as the crate is unmaintained; its GitHub repository was archived by the owner on 2026-05-03.
References
- Package: crates.io/crates/bitmaps
- Advisory: rustsec.org/advisories/RUSTSEC-2025-0167.html
- Report: github.com/bodil/bitmaps/issues/35
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 bitmaps
Up next
Same cratebitmaps: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?