Read the docs
TI-2023-21677 Aliases CVE-2023-41051GHSA-49hh-fprx-m68g

Default functions in VolatileMemory trait lack bounds checks in vm-memory

Priority LOW 21CWE-125Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Required
Attack complexity
High
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-125 and the CVSS impact.

Summary

In a typical Virtual Machine Monitor (VMM) there are several components, such as boot loader, virtual device drivers, virtio backend drivers and vhost drivers, that need to access the VM physical memory. The vm-memory rust crate provides a set of traits to decouple VM memory consumers from VM memory providers. 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. 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. Users are advised to upgrade. There are no known workarounds for this issue.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00255 17th percentileScored 2026-11-07
Fix Fixed vm-memory (rust-vmm): 0.12.2vm-memory (crates.io): 0.12.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
rust-vmmvm-memory0.1.0 to before 0.12.20.12.2Patch availableCNA
—vm-memory (crates.io)before 0.12.20.12.2Patch availableGHSA-49hh-fprx-m68g
  • vm-memory Vendorrust-vmm Affected 0.1.0 to before 0.12.2 Fixed in 0.12.2 Patch available CNA
  • vm-memory (crates.io) Vendor— Affected before 0.12.2 Fixed in 0.12.2 Patch available GHSA-49hh-fprx-m68g

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:vm-memory_project:vm-memory:*:*:*:*:*:rust:*:*0.1.0 to before 0.12.2VulnerableVm-memory Project
  • cpe:2.3:a:vm-memory_project:vm-memory:*:*:*:*:*:rust:*:* Versions 0.1.0 to before 0.12.2 Vulnerable ·Vm-memory Project

Remediation

  • Fix · CNA vm-memory (rust-vmm) Fixed in 0.12.2
  • Fix · GHSA-49hh-fprx-m68g vm-memory (crates.io) Fixed in 0.12.2 Advisory →

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-41051
  2. 2026-10-03 Alias added: GHSA-49hh-fprx-m68g

References

  • TI-2023-27657 Out-of-bounds write in rust-vmm vmm-sys-util CVSS 3.1CRITICAL 9.8
  • TI-2022-07582 rust-vmm linux-loader vulnerable to Out-of-bounds Read CVSS 3.1MEDIUM 5.5

Sources