Bug 1346976 - Regression from CVE-2016-3712: windows installer fails to start [rhel-7.3]
Summary: Regression from CVE-2016-3712: windows installer fails to start [rhel-7.3]
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.2
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Gerd Hoffmann
QA Contact: Guo, Zhiyi
Depends On:
Blocks: 1346981 1346982 1347185
TreeView+ depends on / blocked
Reported: 2016-06-15 18:04 UTC by Ademar Reis
Modified: 2016-11-07 21:17 UTC (History)
7 users (show)

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.
Clone Of:
: 1346981 1346982 1347185 (view as bug list)
Last Closed: 2016-11-07 21:17:52 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2673 0 normal SHIPPED_LIVE qemu-kvm-rhev bug fix and enhancement update 2016-11-08 01:06:13 UTC

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@redhat.com>
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@lamprecht.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

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

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:

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.


Note You need to log in before you can comment on or make changes to this bug.