esp: check dma length before reading scsi command(CVE-2016-4441)
commit6c1fef6b59563cc415f21e03f81539ed4b33ad90
authorPrasad J Pandit <pjp@fedoraproject.org>
Thu, 19 May 2016 10:39:31 +0000 (19 16:09 +0530)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 23 May 2016 14:53:46 +0000 (23 16:53 +0200)
tree087a2fd35b82e4c7157742af6cda74f083c445be
parentc98c6c105f66f05aa0b7c1d2a4a3f716450907ef
esp: check dma length before reading scsi command(CVE-2016-4441)

The 53C9X Fast SCSI Controller(FSC) comes with an internal 16-byte
FIFO buffer. It is used to handle command and data transfer.
Routine get_cmd() uses DMA to read scsi commands into this buffer.
Add check to validate DMA length against buffer size to avoid any
overrun.

Fixes CVE-2016-4441.

Reported-by: Li Qiang <liqiang6-s@360.cn>
Cc: qemu-stable@nongnu.org
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Message-Id: <1463654371-11169-3-git-send-email-ppandit@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/esp.c