Name | CVE-2021-3750 |
Description | A DMA reentrancy issue was found in the USB EHCI controller emulation of QEMU. EHCI does not verify if the Buffer Pointer overlaps with its MMIO region when it transfers the USB packets. Crafted content may be written to the controller's registers and trigger undesirable actions (such as reset) while the device is still transferring packets. This can ultimately lead to a use-after-free issue. A malicious guest could use this flaw to crash the QEMU process on the host, resulting in a denial of service condition, or potentially execute arbitrary code within the context of the QEMU process on the host. This flaw affects QEMU versions before 7.0.0. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
Vulnerable and fixed packages
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|
qemu (PTS) | bullseye | 1:5.2+dfsg-11+deb11u3 | vulnerable |
| bullseye (security) | 1:5.2+dfsg-11+deb11u2 | vulnerable |
| bookworm | 1:7.2+dfsg-7+deb12u7 | fixed |
| trixie | 1:9.2.0+ds-2 | fixed |
| sid | 1:9.2.0+ds-3 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|
qemu | source | (unstable) | 1:7.0+dfsg-1 | | | |
Notes
[bullseye] - qemu <ignored> (Minor issue)
[buster] - qemu <postponed> (Minor issue, follow bullseye updates)
[stretch] - qemu <postponed> (Minor issue, follow bullseye updates)
https://gitlab.com/qemu-project/qemu/-/issues/541
Fix for whole class of DMA MMIO reentrancy issues: https://gitlab.com/qemu-project/qemu/-/issues/556
Patchset: https://lists.nongnu.org/archive/html/qemu-devel/2021-12/msg02356.html
https://gitlab.com/qemu-project/qemu/-/commit/b9d383ab797f54ae5fa8746117770709921dc529 (v7.0.0-rc0)
https://gitlab.com/qemu-project/qemu/-/commit/58e74682baf4e1ad26b064d8c02e5bc99c75c5d9 (v7.0.0-rc1)
https://gitlab.com/qemu-project/qemu/-/commit/3ab6fdc91b72e156da22848f0003ff4225690ced (v7.0.0-rc1)
Possibly incomplete patch set: https://gitlab.com/qemu-project/qemu/-/issues/541#note_1179940468
Final fix: https://gitlab.com/qemu-project/qemu/-/commit/a2e1753b8054344f32cf94f31c6399a58794a380 (v8.1.0-rc0)