Bug 1905656 (CVE-2020-29567)

Summary: CVE-2020-29567 xen: infinite loop when cleaning up IRQ vectors (XSA-356)
Product: [Other] Security Response Reporter: Guilherme de Almeida Suckevicz <gsuckevi>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: jforbes, m.a.young, robinlee.sysu, security-response-team
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-12-15 22:19:58 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: 1907932    
Bug Blocks: 1903644    

Description Guilherme de Almeida Suckevicz 2020-12-08 18:42:07 UTC
When moving IRQs between CPUs to distribute the load of IRQ handling,
IRQ vectors are dynamically allocated and de-allocated on the relevant
CPUs.  De-allocation has to happen when certain constraints are met.
If these conditions are not met when first checked, the checking CPU
may send an interrupt to itself, in the expectation that this IRQ will
be delivered only after the condition preventing the cleanup has
cleared.  For two specific IRQ vectors this expectation was violated,
resulting in a continuous stream of self-interrupts, which renders the
CPU effectively unusable.

Comment 1 Guilherme de Almeida Suckevicz 2020-12-15 14:33:06 UTC
Created xen tracking bugs for this issue:

Affects: fedora-all [bug 1907932]

Comment 2 Guilherme de Almeida Suckevicz 2020-12-15 16:25:20 UTC
External References:

https://www.openwall.com/lists/oss-security/2020/12/15/15

Comment 3 Product Security DevOps Team 2020-12-15 22:19:58 UTC
This CVE Bugzilla entry is for community support informational purposes only as it does not affect a package in a commercially supported Red Hat product. Refer to the dependent bugs for status of those individual community products.