logo

CVE-2023-41051 vm-memory

Package

Manager: cargo
Name: vm-memory
Vulnerable Version: >=0 <0.12.2

Severity

Level: Low

CVSS v3.1: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L

CVSS v4.0: CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

EPSS: 0.00018 pctl0.0306

Details

Default functions in VolatileMemory trait lack bounds checks, potentially leading to out-of-bounds memory accesses ### Impact An issue was discovered in the default implementations of the `VolatileMemory::{get_atomic_ref, aligned_as_ref, aligned_as_mut, get_ref, get_array_ref}` trait functions, which allows out-of-bounds memory access if the `VolatileMemory::get_slice` function returns a `VolatileSlice` whose length is less than the function’s `count` argument. No implementations of `get_slice` provided in `vm_memory` are affected. Users of custom `VolatileMemory` implementations may be impacted if the custom implementation does not adhere to `get_slice`'s documentation. ### Patches The issue started in version 0.1.0 but was fixed in version 0.12.2 by inserting a check that verifies that the `VolatileSlice` returned by `get_slice` is of the correct length. ### Workarounds Not Required ### References https://github.com/rust-vmm/vm-memory/commit/aff1dd4a5259f7deba56692840f7a2d9ca34c9c8 https://crates.io/crates/vm-memory/0.12.2

Metadata

Created: 2023-09-04T16:35:37Z
Modified: 2025-02-13T19:11:48Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/09/GHSA-49hh-fprx-m68g/GHSA-49hh-fprx-m68g.json
CWE IDs: ["CWE-125"]
Alternative ID: GHSA-49hh-fprx-m68g
Finding: F111
Auto approve: 1