Security update for qemu

SUSE Security Update: Security update for qemu
Announcement ID: SUSE-SU-2018:0762-1
Rating: important
References: #1040202 #1068032 #1068613 #1070144 #1071228 #1073489 #1074572 #1076114 #1076775 #1076813 #1082276 #1083291
Affected Products:
  • SUSE Linux Enterprise Server 12-SP3
  • SUSE Linux Enterprise Desktop 12-SP3
  • SUSE CaaS Platform ALL

  • An update that solves 8 vulnerabilities and has four fixes is now available.


    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

    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

    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:

    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.
    - CVE-2017-16845: The PS2 driver in Qemu did not validate 'rptr' and
    'count' values during guest migration, leading to out-of-bounds access.
    - 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)

    Patch Instructions:

    To install this SUSE Security Update use YaST online_update.
    Alternatively you can run the command listed for your product:

    • SUSE Linux Enterprise Server 12-SP3:
      zypper in -t patch SUSE-SLE-SERVER-12-SP3-2018-516=1
    • SUSE Linux Enterprise Desktop 12-SP3:
      zypper in -t patch SUSE-SLE-DESKTOP-12-SP3-2018-516=1
    • SUSE CaaS Platform ALL:
      zypper in -t patch SUSE-CAASP-ALL-2018-516=1

    To bring your system up-to-date, use "zypper patch".

    Package List:

    • SUSE Linux Enterprise Server 12-SP3 (aarch64 ppc64le s390x x86_64):
      • qemu-2.9.1-6.12.1
      • qemu-block-curl-2.9.1-6.12.1
      • qemu-block-curl-debuginfo-2.9.1-6.12.1
      • qemu-block-iscsi-2.9.1-6.12.1
      • qemu-block-iscsi-debuginfo-2.9.1-6.12.1
      • qemu-block-ssh-2.9.1-6.12.1
      • qemu-block-ssh-debuginfo-2.9.1-6.12.1
      • qemu-debugsource-2.9.1-6.12.1
      • qemu-guest-agent-2.9.1-6.12.1
      • qemu-guest-agent-debuginfo-2.9.1-6.12.1
      • qemu-lang-2.9.1-6.12.1
      • qemu-tools-2.9.1-6.12.1
      • qemu-tools-debuginfo-2.9.1-6.12.1
    • SUSE Linux Enterprise Server 12-SP3 (aarch64 x86_64):
      • qemu-block-rbd-2.9.1-6.12.1
      • qemu-block-rbd-debuginfo-2.9.1-6.12.1
    • SUSE Linux Enterprise Server 12-SP3 (s390x x86_64):
      • qemu-kvm-2.9.1-6.12.1
    • SUSE Linux Enterprise Server 12-SP3 (aarch64):
      • qemu-arm-2.9.1-6.12.1
      • qemu-arm-debuginfo-2.9.1-6.12.1
    • SUSE Linux Enterprise Server 12-SP3 (ppc64le):
      • qemu-ppc-2.9.1-6.12.1
      • qemu-ppc-debuginfo-2.9.1-6.12.1
    • SUSE Linux Enterprise Server 12-SP3 (noarch):
      • qemu-ipxe-1.0.0-6.12.1
      • qemu-seabios-1.10.2-6.12.1
      • qemu-sgabios-8-6.12.1
      • qemu-vgabios-1.10.2-6.12.1
    • SUSE Linux Enterprise Server 12-SP3 (x86_64):
      • qemu-x86-2.9.1-6.12.1
      • qemu-x86-debuginfo-2.9.1-6.12.1
    • SUSE Linux Enterprise Server 12-SP3 (s390x):
      • qemu-s390-2.9.1-6.12.1
      • qemu-s390-debuginfo-2.9.1-6.12.1
    • SUSE Linux Enterprise Desktop 12-SP3 (x86_64):
      • qemu-2.9.1-6.12.1
      • qemu-block-curl-2.9.1-6.12.1
      • qemu-block-curl-debuginfo-2.9.1-6.12.1
      • qemu-debugsource-2.9.1-6.12.1
      • qemu-kvm-2.9.1-6.12.1
      • qemu-tools-2.9.1-6.12.1
      • qemu-tools-debuginfo-2.9.1-6.12.1
      • qemu-x86-2.9.1-6.12.1
    • SUSE Linux Enterprise Desktop 12-SP3 (noarch):
      • qemu-ipxe-1.0.0-6.12.1
      • qemu-seabios-1.10.2-6.12.1
      • qemu-sgabios-8-6.12.1
      • qemu-vgabios-1.10.2-6.12.1
    • SUSE CaaS Platform ALL (x86_64):
      • qemu-debugsource-2.9.1-6.12.1
      • qemu-guest-agent-2.9.1-6.12.1
      • qemu-guest-agent-debuginfo-2.9.1-6.12.1