Bug 1908004 (CVE-2020-14394)
Summary: | CVE-2020-14394 QEMU: infinite loop in xhci_ring_chain_length() in hw/usb/hcd-xhci.c | ||
---|---|---|---|
Product: | [Other] Security Response | Reporter: | Mauro Matteo Cascella <mcascell> |
Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> |
Status: | CLOSED WONTFIX | QA Contact: | |
Severity: | low | Docs Contact: | |
Priority: | low | ||
Version: | unspecified | CC: | ailan, berrange, carnil, cfergeau, drjones, imammedo, itamar, jen, jferlan, jforbes, jjoyce, jmaloy, jschluet, knoel, lhh, lkundrak, lpeer, m.a.young, mburns, mkenneth, mrezanin, mst, ondrejj, pbonzini, philmd, ribarry, rjones, robinlee.sysu, sclewis, security-response-team, slinaber, virt-maint, virt-maint, vkuznets, xen-maint |
Target Milestone: | --- | Keywords: | Security |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | qemu-kvm 7.1.0 | Doc Type: | If docs needed, set a value |
Doc Text: |
An infinite loop flaw was found in the USB xHCI controller emulation of QEMU while computing the length of the Transfer Request Block (TRB) Ring. This flaw allows a privileged guest user to hang the QEMU process on the host, resulting in a denial of service. The highest threat from this vulnerability is to system availability.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2021-10-28 11:00:36 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1908051, 1908050, 1908054, 1908055, 1908056, 1910659 | ||
Bug Blocks: | 1896917, 1939870 |
Description
Mauro Matteo Cascella
2020-12-15 16:32:14 UTC
Created qemu tracking bugs for this issue: Affects: epel-7 [bug 1908051] Affects: fedora-all [bug 1908050] In reply to comment #0: > Specifically, function xhci_ring_chain_length() in hw/usb/hcd-xhci.c > may get stuck while fetching TRBs from guest memory, since the exit > conditions of the loop depend on values that are fully controlled by guest. To be more precise, xhci_ring_chain_length() is responsible for computing the size of the Transfer Request Block (TRB) Ring by repeatedly fetching TRBs from the 'dequeue' pointer. Statement: This flaw has been rated as having a security impact of Low, and is not currently planned to be addressed in future updates of Red Hat Enterprise Linux 7. Red Hat Enterprise Linux 7 is now in Maintenance Support 2 Phase of the support and maintenance life cycle. For additional information, refer to the Red Hat Enterprise Linux Life Cycle: https://access.redhat.com/support/policy/updates/errata/. Acknowledgments: Name: Gaoning Pan (Ant Security Light-Year Lab), Xingwei Li (Ant Security Light-Year Lab) Was this issue brought to upstream? (it's low impact but according to several cross-distro bugzilla it seems to somehow has stalled as bugreport to upstream or was not discussed with qemu-devel)? Any idea? (In reply to Salvatore Bonaccorso from comment #12) > Was this issue brought to upstream? (it's low impact but according to > several cross-distro bugzilla it seems to somehow has stalled as bugreport > to upstream or was not discussed with qemu-devel)? Any idea? I don't recall this being discussed upstream. In reply to comment #12: > Was this issue brought to upstream? (it's low impact but according to > several cross-distro bugzilla it seems to somehow has stalled as bugreport > to upstream or was not discussed with qemu-devel)? Any idea? I don't think it was. I'm not sure why it got stuck, but I can open a new issue to bring this up. Upstream issue: https://gitlab.com/qemu-project/qemu/-/issues/646. |