Bug 1346976

Summary: Regression from CVE-2016-3712: windows installer fails to start [rhel-7.3]
Product: Red Hat Enterprise Linux 7 Reporter: Ademar Reis <areis>
Component: qemu-kvm-rhevAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED ERRATA QA Contact: Guo, Zhiyi <zhguo>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.2CC: ailan, chayang, jen, jherrman, juzhang, mgoldboi, virt-maint
Target Milestone: rcKeywords: Regression, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-rhev-2.6.0-7.el7 Doc Type: Bug Fix
Doc Text:
After applying the fix for security issue CVE-2016-3712, the installation of Windows 7 guests on Red Hat Enterprise Virtualization Hypervisor was not possible due to unmodifiable registers. This update introduces a new register set, sr_vbe, to be used instead of vga registers in Windows 7 guests. As a result, the vga registers no longer cause the guest installation to fail.
Story Points: ---
Clone Of:
: 1346981 1346982 1347185 (view as bug list) Environment:
Last Closed: 2016-11-07 21:17:52 UTC Type: Bug
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:    
Bug Blocks: 1346981, 1346982, 1347185    

Description Ademar Reis 2016-06-15 18:04:11 UTC
The fix for CVE-2016-3712 introduced a regression and we'll have to push a new update.

From the upstream patch:

"""
From: Gerd Hoffmann <kraxel>
Subject: [Qemu-devel] [PATCH] vga: add sr_vbe register set

Commit "fd3c136 vga: make sure vga register setup for vbe stays intact
(CVE-2016-3712)." causes a regression.  The win7 installer is unhappy
because it can't freely modify vga registers any more while in vbe mode.

This patch introduces a new sr_vbe register set.  The vbe_update_vgaregs
will fill sr_vbe[] instead of sr[].  Normal vga register reads and
writes go to sr[].  Any sr register read access happens through a new
sr() helper function which will read from sr_vbe[] with vbe active and
from sr[] otherwise.

This way we can allow guests update sr[] registers as they want, without
allowing them disrupt vbe video modes that way.

Reported-by: Thomas Lamprecht <thomas>
Signed-off-by: Gerd Hoffmann <kraxel>
"""

Comment 1 Miroslav Rezanina 2016-06-16 05:45:09 UTC
Fix included in qemu-kvm-rhev-2.6.0-7.el7

Comment 4 Guo, Zhiyi 2016-08-22 09:33:43 UTC
Reproduced on 7.3 host with
kernel: 3.10.0-468.el7.x86_64
qemu:qemu-kvm-rhev-2.6.0-6.el7.x86_64

Trying to install win7/win2008r2 guests, results:

iso:en_windows_7_ultimate_with_sp1_x86_dvd_u_677460.iso result: stuck at "starting windows"
iso:en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso result: stuck at "starting windows" 
iso:en_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617601.iso result: stuck at "starting windows" 

Install win10 guests for comparing, win10 guests install and work well, isos used:
en_windows_10_enterprise_x64_dvd_6851151.iso
en_windows_10_enterprise_x86_dvd_6851156.iso

Verify against qemu-kvm-rhev-2.6.0-7.el7.x86_64

Both windows7/win2008r2 guests install and work well.
Install win10 guests for comparing, win10 guests install and work well also.

Comment 5 Guo, Zhiyi 2016-08-22 09:36:58 UTC
Move to verified per comment 4

Comment 7 errata-xmlrpc 2016-11-07 21:17:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2673.html