Security update for qemu

This update for qemu fixes the following issues:

This update has the next round of Spectre v2 related patches, which
now integrate with corresponding changes in libvirt. (CVE-2017-5715
bsc#1068032)

The January 2018 release of qemu initially addressed the Spectre v2
vulnerability for KVM guests by exposing the spec-ctrl feature
for all x86 vcpu types, which was the quick and dirty approach,
but not the proper solution.

We replaced our initial patch by the patches from upstream.

This update defines spec_ctrl and ibpb cpu feature flags as well as new
cpu models which are clones of existing models with either -IBRS or -IBPB
added to the end of the model name. These new vcpu models explicitly
include the new feature(s), whereas the feature flags can be added
to the cpu parameter as with other features. In short, for continued
Spectre v2 protection, ensure that either the appropriate cpu feature
flag is added to the QEMU command-line, or one of the new cpu models is
used.

Although migration from older versions is supported, the new cpu
features won't be properly exposed to the guest until it is restarted
with the cpu features explicitly added. A reboot is insufficient.

A warning patch is added which attempts to detect a migration
from a qemu version which had the quick and dirty fix (it only
detects certain cases, but hopefully is helpful.)
For additional information on Spectre v2 as it relates to QEMU,
see:
https://www.qemu.org/2018/02/14/qemu-2-11-1-and-spectre-update/

A patch is added to continue to detect Spectre v2 mitigation
features (as shown by cpuid), and if found provide that feature
to guests, even if running on older KVM (kernel) versions which
do not yet expose that feature to QEMU. (bsc#1082276)

These two patches will be removed when we can reasonably assume
everyone is running with the appropriate updates.

Spectre fixes for IBM Z Series were included by providing more hw features
to guests (bsc#1076813)

Also security fixes for the following CVE issues are included:

- CVE-2017-17381: The Virtio Vring implementation in QEMU allowed local OS guest users to cause a denial of service (divide-by-zero error and QEMU process crash) by unsetting vring alignment while updating Virtio rings. (bsc#1071228)
- CVE-2017-16845: The PS2 driver in Qemu did not validate 'rptr' and 'count' values during guest migration, leading to out-of-bounds access. (bsc#1068613)
- CVE-2017-15119: The Network Block Device (NBD) server in Quick Emulator (QEMU), was vulnerable to a denial of service issue. It could occur if a client sent large option requests, making the server waste CPU time on reading up to 4GB per request. A client could use this flaw to keep the NBD server from serving other requests, resulting in DoS. (bsc#1070144)
- CVE-2017-18043: Integer overflow in the macro ROUND_UP (n, d) in Quick Emulator (Qemu) allowed a user to cause a denial of service (Qemu process crash). (bsc#1076775)
- CVE-2018-5683: The VGA driver in Qemu allowed local OS guest privileged users to cause a denial of service (out-of-bounds read and QEMU process crash) by leveraging improper memory address validation. (bsc#1076114)
- CVE-2018-7550: The multiboot functionality in Quick Emulator (aka QEMU) allowed local guest OS users to execute arbitrary code on the QEMU host via an out-of-bounds read or write memory access. (bsc#1083291)
- CVE-2017-15124: VNC server implementation in Quick Emulator (QEMU) was found to be vulnerable to an unbounded memory allocation issue, as it did not throttle the framebuffer updates sent to its client. If the client did not consume these updates, VNC server allocates growing memory to hold onto this data. A malicious remote VNC client could use this flaw to cause DoS to the server host. (bsc#1073489)

Additional bugs fixed:

- Fix pcihp for 1.6 and older machine types (bsc#1074572)
- Fix packaging dependencies (coreutils) for qemu-ksm package (bsc#1040202)

This update was imported from the SUSE:SLE-12-SP3:Update update project.

Fixed bugs
bnc#1073489
VUL-0: CVE-2017-15124 kvm,qemu: Memory exhaustion through framebuffer update request message in VNC server
bnc#1083291
VUL-0: CVE-2018-7550 qemu, kvm: i386: multiboot OOB access while loading kernel image
bnc#1074572
virsh attach-disk not work
bnc#1082276
KVM doesn't correctly return CPUID_7_0_EDX_SPEC_CTRL as supported feature
bnc#1076775
VUL-1: CVE-2017-18043: kvm,qemu: integer overflow in ROUND_UP macro could result in DoS
bnc#1070144
VUL-1: CVE-2017-15119: qemu: DoS via large option request
bnc#1076114
VUL-1: CVE-2018-5683: qemu: Qemu: Out-of-bounds read in vga_draw_text routine
bnc#1040202
packages qemu-tools and qemu-ksm: installation error
bnc#1076813
[CVE] Spectre qemu fixes for s390x for SLES12 SP3
bnc#1068613
VUL-1: CVE-2017-16845: qemu: ps2: information leakage via post_load routine
bnc#1071228
VUL-1: CVE-2017-17381: qemu: virtio: divide by zero exception while updating rings
bnc#1068032
VUL-0: speculative side channel attacks on various CPU platforms aka "SpectreAttack" and "MeltdownAttack"
Selected Binaries
openSUSE Build Service is sponsored by