Bug 1905669 (CVE-2020-29566)

Summary: CVE-2020-29566 xen: undue recursion in x86 HVM context switch code (XSA-348)
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:20:06 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: 1908085    
Bug Blocks: 1903644    

Description Guilherme de Almeida Suckevicz 2020-12-08 19:22:27 UTC
When they require assistance from the device model, x86 HVM guests
must be temporarily de-scheduled.  The device model will signal Xen
when it has completed its operation, via an event channel, so that the
relevant vCPU is rescheduled.

If the device model were to signal Xen without having actually
completed the operation, the de-schedule / re-schedule cycle would
repeat.  If, in addition, Xen is resignalled very quickly, the
re-schedule may occur before the de-schedule was fully complete,
triggering a shortcut.  This potentially repeating process uses
ordinary recursive function calls, so could result a stack overflow.

Comment 1 Guilherme de Almeida Suckevicz 2020-12-15 19:57:47 UTC
External References:

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

Comment 2 Guilherme de Almeida Suckevicz 2020-12-15 19:58:03 UTC
Created xen tracking bugs for this issue:

Affects: fedora-all [bug 1908085]

Comment 3 Product Security DevOps Team 2020-12-15 22:20:06 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.