RustSec logo

HistoryEditJSON (OSV)

RUSTSEC-2025-0162

VMABuffer::set_data may allow out-of-bounds writes from safe code

Reported
Issued
Package
vku (crates.io)
Type
INFO Unsound
Categories
References
Patched
  • >=0.4.0
Affected Functions
Version
vku::VMABuffer::set_data
  • <=0.3.0

Description

VMABuffer::set_data was a publicly accessible safe function. It accepted an arbitrary offset and a data slice, then used the offset in unsafe pointer arithmetic before copying the slice into a mapped allocation.

Affected versions did not check that the requested write range fit within the allocation before calling ptr.add(offset) and copy_from_nonoverlapping. Safe Rust code could therefore trigger an out-of-bounds write by passing an offset outside the mapped allocation.

This makes the safe API unsound, since callers can trigger undefined behavior without using unsafe.

Version 0.4.0 added a bounds check before performing the pointer arithmetic and copy.

Advisory available under CC0-1.0 license.