Bug 1898579 (CVE-2020-25723)

Summary: CVE-2020-25723 QEMU: assertion failure through usb_packet_unmap() in hw/usb/hcd-ehci.c
Product: [Other] Security Response Reporter: Mauro Matteo Cascella <mcascell>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: ailan, berrange, cfergeau, dbecker, 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, slinaber, virt-maint, virt-maint, vkuznets, xen-maint
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: qemu 5.2.0 Doc Type: If docs needed, set a value
Doc Text:
A reachable assertion vulnerability was found in the USB EHCI emulation code of QEMU. This issue occurs while processing USB requests due to missed handling of DMA memory map failure. This flaw allows a malicious privileged user within the guest to send bogus USB requests and crash 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-02-23 19:01:54 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: 1898625, 1898624, 1898628, 1898629, 1898630, 1901875, 1901876, 1910662, 1918008, 1920266    
Bug Blocks: 1892324    

Description Mauro Matteo Cascella 2020-11-17 14:49:07 UTC
A security issue was found in the USB EHCI emulation code of QEMU. It could occur while processing USB requests via ehci_execute() in hw/usb/hcd-ehci.c. More specifically, DMA memory map failure was not properly detected leading to reachable assertion (CWE-617) in a later call of address_space_unmap() via usb_packet_unmap(). This was fixed in the following commit by checking the return value of usb_packet_map(). A malicious privileged user within the guest may abuse this flaw to send bogus USB requests and crash the QEMU process on the host, resulting in a denial of service.

Upstream fix:
https://git.qemu.org/?p=qemu.git;a=commit;h=2fdb42d840400d58f2e706ecca82c142b97bcbd6

Comment 1 Mauro Matteo Cascella 2020-11-17 14:49:16 UTC
Acknowledgments:

Name: Cheolwoo Myung

Comment 3 Mauro Matteo Cascella 2020-11-17 16:55:35 UTC
Created qemu tracking bugs for this issue:

Affects: epel-7 [bug 1898625]
Affects: fedora-all [bug 1898624]

Comment 8 RaTasha Tillery-Smith 2021-02-22 17:10:59 UTC
Statement:

Releases of Red Hat OpenStack Platform versions 15 and newer consume fixes directly from the Red Hat Enterprise Linux 8 Advanced Virtualization repository.

Comment 9 errata-xmlrpc 2021-02-23 18:44:14 UTC
This issue has been addressed in the following products:

  Advanced Virtualization for RHEL 8.2.1

Via RHSA-2021:0648 https://access.redhat.com/errata/RHSA-2021:0648

Comment 10 Product Security DevOps Team 2021-02-23 19:01:54 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2020-25723

Comment 11 errata-xmlrpc 2021-03-09 11:12:27 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.2 Extended Update Support

Via RHSA-2021:0771 https://access.redhat.com/errata/RHSA-2021:0771

Comment 12 errata-xmlrpc 2021-05-18 14:51:23 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2021:1762 https://access.redhat.com/errata/RHSA-2021:1762