cloud-hypervisor/vm-virtio/src
Samuel Ortiz 664431ff14 vsock: vhost_user: vfio: Fix potential host memory overflow
The vsock packets that we're building are resolving guest addresses to
host ones and use the latter as raw pointers.
If the corresponding guest mapped buffer spans across several regions in
the guest, they will do so in the host as well. Since we have no
guarantees that host regions are contiguous, it may lead the VMM into
trying to access memory outside of its memory space.

For now we fix that by ensuring that the guest buffers do not span
across several regions. If they do, we error out.
Ideally, we should enhance the rust-vmm memory model to support safe
acces across host regions.

Fixes CVE-2019-18960

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-12-12 22:15:50 +01:00
..
transport vm-virtio: Implement the Pausable trait for all virtio devices 2019-12-12 08:50:36 +01:00
vhost_user vsock: vhost_user: vfio: Fix potential host memory overflow 2019-12-12 22:15:50 +01:00
vsock vsock: vhost_user: vfio: Fix potential host memory overflow 2019-12-12 22:15:50 +01:00
block.rs vm-virtio: Implement the Pausable trait for all virtio devices 2019-12-12 08:50:36 +01:00
console.rs vm-virtio: Implement the Pausable trait for all virtio devices 2019-12-12 08:50:36 +01:00
device.rs vm-virtio: Implement the Pausable trait for all virtio devices 2019-12-12 08:50:36 +01:00
iommu.rs vm-virtio: Implement the Pausable trait for all virtio devices 2019-12-12 08:50:36 +01:00
lib.rs vm-virtio: Implement the Pausable trait for all virtio devices 2019-12-12 08:50:36 +01:00
net.rs vm-virtio: Implement the Pausable trait for all virtio devices 2019-12-12 08:50:36 +01:00
pmem.rs vm-virtio: Implement the Pausable trait for all virtio devices 2019-12-12 08:50:36 +01:00
queue.rs vsock: vhost_user: vfio: Fix potential host memory overflow 2019-12-12 22:15:50 +01:00
rng.rs vm-virtio: Implement the Pausable trait for all virtio devices 2019-12-12 08:50:36 +01:00