CVE-2021-3750

NameCVE-2021-3750
DescriptionA 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.
SourceCVE (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 PackageReleaseVersionStatus
qemu (PTS)jessie, jessie (lts)1:2.1+dfsg-12+deb8u23vulnerable
stretch (security)1:2.8+dfsg-6+deb9u17vulnerable
stretch (lts), stretch1:2.8+dfsg-6+deb9u19vulnerable
buster1:3.1+dfsg-8+deb10u8vulnerable
buster (security)1:3.1+dfsg-8+deb10u12vulnerable
bullseye1:5.2+dfsg-11+deb11u3vulnerable
bullseye (security)1:5.2+dfsg-11+deb11u2vulnerable
bookworm1:7.2+dfsg-7+deb12u5fixed
trixie1:8.2.1+ds-2fixed
sid1:8.2.2+ds-2fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
qemusource(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)
[jessie] - qemu <postponed> (Fix along in future ELA)

Search for package or bug name: Reporting problems