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.
The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
Link | Tags |
---|---|
https://bugzilla.redhat.com/show_bug.cgi?id=1999073 | third party advisory issue tracking |
https://gitlab.com/qemu-project/qemu/-/issues/541 | third party advisory exploit |
https://gitlab.com/qemu-project/qemu/-/issues/556 | third party advisory |
https://security.netapp.com/advisory/ntap-20220624-0003/ | third party advisory |
https://security.gentoo.org/glsa/202208-27 | third party advisory vendor advisory |