Use-after-free in QEMU - CVE-2021-3929
Published: June 21, 2022
Vulnerability details
The vulnerability allows a remote user to compromise vulnerable system.
The vulnerability exists due to a use-after-free error in the NVM Express Controller emulation in QEMU within the dma_buf_write() and dma_buf_read() function in hw/nvme/ctrl.c:nvme_tx(). A remote privileged user on the guest OS can trigger a use-after-free error and execute arbitrary code on the QEMU host.
Successful exploitation of the vulnerability may allow an attacker to compromise vulnerable system.
Affected software
SUSE Linux Enterprise Server for SAP Applications 15
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise High Performance Computing 15
SUSE Linux Enterprise Server 12
SUSE Linux Enterprise High Performance Computing 12
SUSE Linux Enterprise Real Time 15
SUSE Linux Enterprise High Performance Computing LTSS 15
SUSE Linux Enterprise High Performance Computing ESPOS 15
SUSE Linux Enterprise Server for SAP Applications 12
SUSE CaaS Platform
SUSE Manager Proxy
SUSE Manager Retail Branch Server
SUSE Manager Server
SUSE Linux Enterprise Micro
SUSE Linux Enterprise Micro for Rancher
SUSE Enterprise Storage
SUSE Linux Enterprise Server 12 SP2 BCL
SUSE Linux Enterprise High Performance Computing 15 SP1 LTSS
SUSE Linux Enterprise Server 15 SP1 LTSS
SUSE Linux Enterprise High Performance Computing 15 SP2 LTSS
SUSE Linux Enterprise Server 15 SP2 LTSS
SUSE Linux Enterprise Server 15 SP3 LTSS
openSUSE Leap
Ubuntu
openEuler
Fedora
qemu-ipxe
qemu-seabios
qemu-vgabios
qemu-guest-agent-debuginfo
qemu-block-ssh-debuginfo
qemu-tools
qemu-debugsource
qemu-block-rbd-debuginfo
qemu-block-ssh
qemu-x86
qemu-block-rbd
qemu-guest-agent
qemu-lang
qemu-x86-debuginfo
qemu
qemu-block-curl
qemu-tools-debuginfo
qemu-kvm
qemu-block-curl-debuginfo
qemu-system-arm (Ubuntu package)
qemu-system (Ubuntu package)
qemu-system-x86 (Ubuntu package)
qemu-system-mips (Ubuntu package)
qemu-system-misc (Ubuntu package)
qemu-system-ppc (Ubuntu package)
qemu-system-sparc (Ubuntu package)
qemu-system-s390x (Ubuntu package)
qemu-ui-sdl
qemu-ui-curses-debuginfo
qemu-ui-gtk
qemu-audio-alsa
qemu-audio-pa
qemu-block-iscsi-debuginfo
qemu-arm-debuginfo
qemu-arm
qemu-audio-sdl-debuginfo
qemu-ppc
qemu-ppc-debuginfo
qemu-s390-debuginfo
qemu-s390
qemu-audio-sdl
qemu-audio-oss
qemu-audio-oss-debuginfo
qemu-block-iscsi
qemu-audio-alsa-debuginfo
qemu-ui-curses
qemu-ui-gtk-debuginfo
qemu-ui-sdl-debuginfo
qemu-audio-pa-debuginfo
qemu-debuginfo
qemu-ui-spice-app-debuginfo
qemu-ui-spice-app
qemu-microvm
qemu-system-x86-xen (Ubuntu package)
qemu-system-x86-microvm (Ubuntu package)
qemu-chardev-spice-debuginfo
qemu-hw-display-virtio-vga
qemu-ui-spice-core
qemu-chardev-baum
qemu-ui-spice-core-debuginfo
qemu-hw-display-virtio-vga-debuginfo
qemu-audio-spice-debuginfo
qemu-chardev-spice
qemu-audio-spice
qemu-hw-display-qxl-debuginfo
qemu-ksm
qemu-ui-opengl-debuginfo
qemu-ui-opengl
qemu-chardev-baum-debuginfo
qemu-hw-display-virtio-gpu-debuginfo
qemu-hw-usb-redirect-debuginfo
qemu-hw-usb-redirect
qemu-hw-display-qxl
qemu-s390x
qemu-s390x-debuginfo
qemu-hw-s390x-virtio-gpu-ccw
qemu-hw-s390x-virtio-gpu-ccw-debuginfo
qemu-SLOF
qemu-skiboot
qemu-hw-display-virtio-gpu-pci-debuginfo
qemu-hw-display-virtio-gpu-pci
qemu-hw-display-virtio-gpu
qemu-system-riscv
qemu-img
qemu-hw-usb-host
qemu-system-arm
qemu-system-aarch64
qemu-system-x86_64
qemu-help
qemu-sgabios
How to mitigate CVE-2021-3929
qemu-ipxe - addressed in versions 1.0.0+-66.1, 1.0.0+-150100.80.51.5, 1.0.0+-150200.79.1, 1.0.0+-150300.121.2, 1.0.0-41.76.1
qemu-seabios - addressed in versions 1.9.1_0_gb3ef39f-41.76.1, 1.12.0_0_ga698c89-66.1, 1.12.0_0_ga698c89-150100.80.51.5, 1.12.1+-150200.79.1, 1.14.0_0_g155821a-150300.121.2
qemu-vgabios - addressed in versions 1.9.1_0_gb3ef39f-41.76.1, 1.12.0_0_ga698c89-66.1, 1.12.0_0_ga698c89-150100.80.51.5, 1.12.1+-150200.79.1, 1.14.0_0_g155821a-150300.121.2
qemu-guest-agent-debuginfo - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-block-ssh-debuginfo - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-tools - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-debugsource - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-block-rbd-debuginfo - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-block-ssh - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-x86 - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-block-rbd - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-guest-agent - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-lang - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-x86-debuginfo - addressed in versions 2.6.2-41.76.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-block-curl - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-tools-debuginfo - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-kvm - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-block-curl-debuginfo - addressed in versions 2.6.2-41.76.1, 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-system-arm (Ubuntu package) - addressed in versions 1:2.11+dfsg-1ubuntu7.40, 1:4.2-3ubuntu6.23, 1:6.0+dfsg-2expubuntu1.3, 1:6.2+dfsg-2ubuntu6.2
qemu-system (Ubuntu package) - addressed in versions 1:2.11+dfsg-1ubuntu7.40, 1:4.2-3ubuntu6.23, 1:6.0+dfsg-2expubuntu1.3, 1:6.2+dfsg-2ubuntu6.2
qemu-system-x86 (Ubuntu package) - addressed in versions 1:2.11+dfsg-1ubuntu7.40, 1:4.2-3ubuntu6.23, 1:6.0+dfsg-2expubuntu1.3, 1:6.2+dfsg-2ubuntu6.2
qemu-system-mips (Ubuntu package) - addressed in versions 1:2.11+dfsg-1ubuntu7.40, 1:4.2-3ubuntu6.23, 1:6.0+dfsg-2expubuntu1.3, 1:6.2+dfsg-2ubuntu6.2
qemu-system-misc (Ubuntu package) - addressed in versions 1:2.11+dfsg-1ubuntu7.40, 1:4.2-3ubuntu6.23, 1:6.0+dfsg-2expubuntu1.3, 1:6.2+dfsg-2ubuntu6.2
qemu-system-ppc (Ubuntu package) - addressed in versions 1:2.11+dfsg-1ubuntu7.40, 1:4.2-3ubuntu6.23, 1:6.0+dfsg-2expubuntu1.3, 1:6.2+dfsg-2ubuntu6.2
qemu-system-sparc (Ubuntu package) - addressed in versions 1:2.11+dfsg-1ubuntu7.40, 1:4.2-3ubuntu6.23, 1:6.0+dfsg-2expubuntu1.3, 1:6.2+dfsg-2ubuntu6.2
qemu-system-s390x (Ubuntu package) - addressed in versions 1:2.11+dfsg-1ubuntu7.40, 1:4.2-3ubuntu6.23, 1:6.0+dfsg-2expubuntu1.3, 1:6.2+dfsg-2ubuntu6.2
qemu-ui-sdl - update to 3.1.1.1-66.1
qemu-ui-curses-debuginfo - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-ui-gtk - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-audio-alsa - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-audio-pa - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-block-iscsi-debuginfo - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-arm-debuginfo - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-arm - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-audio-sdl-debuginfo - update to 3.1.1.1-66.1
qemu-ppc - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-ppc-debuginfo - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-s390-debuginfo - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1
qemu-s390 - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1
qemu-audio-sdl - update to 3.1.1.1-66.1
qemu-audio-oss - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5
qemu-audio-oss-debuginfo - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5
qemu-block-iscsi - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-audio-alsa-debuginfo - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-ui-curses - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-ui-gtk-debuginfo - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-ui-sdl-debuginfo - update to 3.1.1.1-66.1
qemu-audio-pa-debuginfo - addressed in versions 3.1.1.1-66.1, 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-debuginfo - addressed in versions 3.1.1.1-150100.80.51.5, 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-ui-spice-app-debuginfo - addressed in versions 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-ui-spice-app - addressed in versions 4.2.1-150200.79.1, 5.2.0-150300.121.2
qemu-microvm - update to 4.2.1-150200.79.1
qemu-system-x86-xen (Ubuntu package) - addressed in versions 1:4.2-3ubuntu6.23, 1:6.0+dfsg-2expubuntu1.3, 1:6.2+dfsg-2ubuntu6.2
qemu-system-x86-microvm (Ubuntu package) - addressed in versions 1:4.2-3ubuntu6.23, 1:6.0+dfsg-2expubuntu1.3, 1:6.2+dfsg-2ubuntu6.2
qemu-chardev-spice-debuginfo - update to 5.2.0-150300.121.2
qemu-hw-display-virtio-vga - update to 5.2.0-150300.121.2
qemu-ui-spice-core - update to 5.2.0-150300.121.2
qemu-chardev-baum - update to 5.2.0-150300.121.2
qemu-ui-spice-core-debuginfo - update to 5.2.0-150300.121.2
qemu-hw-display-virtio-vga-debuginfo - update to 5.2.0-150300.121.2
qemu-audio-spice-debuginfo - update to 5.2.0-150300.121.2
qemu-chardev-spice - update to 5.2.0-150300.121.2
qemu-audio-spice - update to 5.2.0-150300.121.2
qemu-hw-display-qxl-debuginfo - update to 5.2.0-150300.121.2
qemu-ksm - update to 5.2.0-150300.121.2
qemu-ui-opengl-debuginfo - update to 5.2.0-150300.121.2
qemu-ui-opengl - update to 5.2.0-150300.121.2
qemu-chardev-baum-debuginfo - update to 5.2.0-150300.121.2
qemu-hw-display-virtio-gpu-debuginfo - update to 5.2.0-150300.121.2
qemu-hw-usb-redirect-debuginfo - update to 5.2.0-150300.121.2
qemu-hw-usb-redirect - update to 5.2.0-150300.121.2
qemu-hw-display-qxl - update to 5.2.0-150300.121.2
qemu-s390x - update to 5.2.0-150300.121.2
qemu-s390x-debuginfo - update to 5.2.0-150300.121.2
qemu-hw-s390x-virtio-gpu-ccw - update to 5.2.0-150300.121.2
qemu-hw-s390x-virtio-gpu-ccw-debuginfo - update to 5.2.0-150300.121.2
qemu-SLOF - update to 5.2.0-150300.121.2
qemu-skiboot - update to 5.2.0-150300.121.2
qemu-hw-display-virtio-gpu-pci-debuginfo - update to 5.2.0-150300.121.2
qemu-hw-display-virtio-gpu-pci - update to 5.2.0-150300.121.2
qemu-hw-display-virtio-gpu - update to 5.2.0-150300.121.2
qemu - update to 6.2.0-15.fc36
qemu-debugsource - update to 6.2.0-41
qemu-guest-agent - update to 6.2.0-41
qemu-block-rbd - update to 6.2.0-41
qemu-block-curl - update to 6.2.0-41
qemu-system-riscv - update to 6.2.0-41
qemu-block-iscsi - update to 6.2.0-41
qemu-img - update to 6.2.0-41
qemu-hw-usb-host - update to 6.2.0-41
qemu-system-arm - update to 6.2.0-41
qemu-debuginfo - update to 6.2.0-41
qemu-system-aarch64 - update to 6.2.0-41
qemu-block-ssh - update to 6.2.0-41
qemu-system-x86_64 - update to 6.2.0-41
qemu - update to 6.2.0-41
qemu-help - update to 6.2.0-41
qemu-seabios - update to 6.2.0-41
qemu-sgabios - addressed in versions 8-41.76.1, 8-66.1, 8-150100.80.51.5, 8-150200.79.1, 8-150300.121.2