CVE-2023-41051
Default functions in VolatileMemory trait lack bounds checks, potentially leading to out-of-bounds memory accesses
Impact
### 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
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| rust | vm-memory | < 0.12.2 | 0.12.2 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Vm-Memory Project | Vm-Memory | from 0.1.0 before 0.12.2 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://crates.io/crates/vm-memory/0.12.2
- https://github.com/rust-vmm/vm-memory/commit/aff1dd4a5259f7deba56692840f7a2d9ca34c9c8
- https://github.com/rust-vmm/vm-memory/security/advisories/GHSA-49hh-fprx-m68g
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/IPXRXD5VXBZHBGMUM77B52CJJMG7EJGI/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/SYM6CYW2DWRHRAVL2HYTQPXC3J2V77J4/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XZGJL6BQLU4XCPQLLTW4GSSBTNQXB3TI/
- https://github.com/advisories/GHSA-49hh-fprx-m68g
- https://nvd.nist.gov/vuln/detail/CVE-2023-41051
- https://github.com/rust-vmm/vm-memory/issues/250
- https://rustsec.org/advisories/RUSTSEC-2023-0056.html
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/IPXRXD5VXBZHBGMUM77B52CJJMG7EJGI
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/SYM6CYW2DWRHRAVL2HYTQPXC3J2V77J4
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XZGJL6BQLU4XCPQLLTW4GSSBTNQXB3TI