VDB
Sign up
—

RUSTSEC-2026-0127

Integer overflow in `array::ReadWrite::new()` leading to potential memory corruption

Details

In `array::ReadWrite::new()` (line 83 of `accessor/src/array.rs`), `let bytes = mem::size_of::<T>() * len` can overflow `usize` when `len` is very large. In release mode, this silently wraps, potentially making `bytes = 0`. The mapper then maps with 0 bytes, and subsequent accesses (e.g. `read_volatile_at`) lead to undefined behavior or memory corruption.

Note: `array::ReadWrite::new()` itself is `unsafe`, so direct triggering requires an `unsafe` block. However, the integer overflow violates the implicit safety contract expected by callers and can lead to memory corruption downstream.

Are you affected?

Enter the version of the package you're using.

Affected packages

crates.io/accessor
Introduced in: 0.0.0-0

No fixed version published yet for accessor. Pin to a known-safe version or switch to an alternative.

References