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
0.0.0-0No fixed version published yet for accessor. Pin to a known-safe version or switch to an alternative.