An off-by-one error was found in the SCSI Device emulation in QEMU. It could occur in hw/scsi/scsi-disk.c:mode_sense_page() while processing MODE SELECT commands if 'page' was set to MODE_PAGE_ALLS (0x3f). Specifically, 'page' was used to index the stack-allocated 'mode_sense_valid' buffer (size=0x3f), causing an off-by-one error when trying to access the last element. A malicious guest could use this flaw to potentially crash QEMU, resulting in a denial of service condition.
Created qemu tracking bugs for this issue: Affects: epel-7 [bug 2020599] Affects: fedora-all [bug 2020598]
I don't have access to bug 2020383, but from comment #0 the fix is likely: https://www.mail-archive.com/qemu-devel@nongnu.org/msg779652.html
(In reply to Philippe Mathieu-Daudé from comment #2) > I don't have access to bug 2020383, but from comment #0 the fix is likely: > https://www.mail-archive.com/qemu-devel@nongnu.org/msg779652.html That looks correct, because https://bugs.launchpad.net/qemu/+bug/1914638 is referenced which moved to https://gitlab.com/qemu-project/qemu/-/issues/546 and there Paolo mentioned the CVE assignment in https://gitlab.com/qemu-project/qemu/-/issues/546#note_725175813
This patch was eventually pulled and merged: https://lists.nongnu.org/archive/html/qemu-devel/2021-11/msg01896.html. Upstream commit: https://gitlab.com/qemu-project/qemu/-/commit/b3af7fdf9cc537f8f0dd3e2423d83f5c99a457e8
This issue has been addressed in the following products: Advanced Virtualization for RHEL 8.4.0.EUS Via RHSA-2021:5065 https://access.redhat.com/errata/RHSA-2021:5065
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2021:5238 https://access.redhat.com/errata/RHSA-2021:5238
This issue has been addressed in the following products: Advanced Virtualization for RHEL 8.5.0.Z Via RHSA-2022:0081 https://access.redhat.com/errata/RHSA-2022:0081
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2021-3930