RedHat: RHSA-2019-1180:01 Important: libvirt security update
Summary
The libvirt library contains a C API for managing and interacting with the
virtualization capabilities of Linux and other operating systems. In
addition, libvirt provides tools for remote management of virtualized
systems.
Security Fix(es):
* A flaw was found in the implementation of the "fill buffer", a mechanism
used by modern CPUs when a cache-miss is made on L1 CPU cache. If an
attacker can generate a load operation that would create a page fault, the
execution will continue speculatively with incorrect data from the fill
buffer while the data is fetched from higher level caches. This response
time can be measured to infer data in the fill buffer. (CVE-2018-12130)
* Modern Intel microprocessors implement hardware-level micro-optimizations
to improve the performance of writing data back to CPU caches. The write
operation is split into STA (STore Address) and STD (STore Data)
sub-operations. These sub-operations allow the processor to hand-off
address generation logic into these sub-operations for optimized writes.
Both of these sub-operations write to a shared distributed processor
structure called the 'processor store buffer'. As a result, an unprivileged
attacker could use this flaw to read private data resident within the CPU's
processor store buffer. (CVE-2018-12126)
* Microprocessors use a ‘load port’ subcomponent to perform load operations
from memory or IO. During a load operation, the load port receives data
from the memory or IO subsystem and then provides the data to the CPU
registers and operations in the CPU’s pipelines. Stale load operations
results are stored in the 'load port' table until overwritten by newer
operations. Certain load-port operations triggered by an attacker can be
used to reveal data about previous stale requests leaking data back to the
attacker via a timing side-channel. (CVE-2018-12127)
* Uncacheable memory on some microprocessors utilizing speculative
execution may allow an authenticated user to potentially enable information
disclosure via a side channel with local access. (CVE-2019-11091)
For more details about the security issue(s), including the impact, a CVSS
score, acknowledgments, and other related information, refer to the CVE
page(s) listed in the References section.
Summary
Solution
For details on how to apply this update, which includes the changes
described in this advisory, refer to:
https://access.redhat.com/articles/11258
After installing the updated packages, libvirtd will be restarted
automatically.
References
https://access.redhat.com/security/cve/CVE-2018-12126 https://access.redhat.com/security/cve/CVE-2018-12127 https://access.redhat.com/security/cve/CVE-2018-12130 https://access.redhat.com/security/cve/CVE-2019-11091 https://access.redhat.com/security/vulnerabilities/mds https://access.redhat.com/security/updates/classification/#important
Package List
Red Hat Enterprise Linux Desktop (v. 6):
Source:
libvirt-0.10.2-64.el6_10.1.src.rpm
i386:
libvirt-0.10.2-64.el6_10.1.i686.rpm
libvirt-client-0.10.2-64.el6_10.1.i686.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.i686.rpm
libvirt-python-0.10.2-64.el6_10.1.i686.rpm
x86_64:
libvirt-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-client-0.10.2-64.el6_10.1.i686.rpm
libvirt-client-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.i686.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-python-0.10.2-64.el6_10.1.x86_64.rpm
Red Hat Enterprise Linux Desktop Optional (v. 6):
i386:
libvirt-debuginfo-0.10.2-64.el6_10.1.i686.rpm
libvirt-devel-0.10.2-64.el6_10.1.i686.rpm
x86_64:
libvirt-debuginfo-0.10.2-64.el6_10.1.i686.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-devel-0.10.2-64.el6_10.1.i686.rpm
libvirt-devel-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-lock-sanlock-0.10.2-64.el6_10.1.x86_64.rpm
Red Hat Enterprise Linux HPC Node (v. 6):
Source:
libvirt-0.10.2-64.el6_10.1.src.rpm
x86_64:
libvirt-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-client-0.10.2-64.el6_10.1.i686.rpm
libvirt-client-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.i686.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-python-0.10.2-64.el6_10.1.x86_64.rpm
Red Hat Enterprise Linux HPC Node Optional (v. 6):
x86_64:
libvirt-debuginfo-0.10.2-64.el6_10.1.i686.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-devel-0.10.2-64.el6_10.1.i686.rpm
libvirt-devel-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-lock-sanlock-0.10.2-64.el6_10.1.x86_64.rpm
Red Hat Enterprise Linux Server (v. 6):
Source:
libvirt-0.10.2-64.el6_10.1.src.rpm
i386:
libvirt-0.10.2-64.el6_10.1.i686.rpm
libvirt-client-0.10.2-64.el6_10.1.i686.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.i686.rpm
libvirt-devel-0.10.2-64.el6_10.1.i686.rpm
libvirt-python-0.10.2-64.el6_10.1.i686.rpm
ppc64:
libvirt-0.10.2-64.el6_10.1.ppc64.rpm
libvirt-client-0.10.2-64.el6_10.1.ppc.rpm
libvirt-client-0.10.2-64.el6_10.1.ppc64.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.ppc.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.ppc64.rpm
libvirt-devel-0.10.2-64.el6_10.1.ppc.rpm
libvirt-devel-0.10.2-64.el6_10.1.ppc64.rpm
libvirt-python-0.10.2-64.el6_10.1.ppc64.rpm
s390x:
libvirt-0.10.2-64.el6_10.1.s390x.rpm
libvirt-client-0.10.2-64.el6_10.1.s390.rpm
libvirt-client-0.10.2-64.el6_10.1.s390x.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.s390.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.s390x.rpm
libvirt-devel-0.10.2-64.el6_10.1.s390.rpm
libvirt-devel-0.10.2-64.el6_10.1.s390x.rpm
libvirt-python-0.10.2-64.el6_10.1.s390x.rpm
x86_64:
libvirt-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-client-0.10.2-64.el6_10.1.i686.rpm
libvirt-client-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.i686.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-devel-0.10.2-64.el6_10.1.i686.rpm
libvirt-devel-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-python-0.10.2-64.el6_10.1.x86_64.rpm
Red Hat Enterprise Linux Server Optional (v. 6):
x86_64:
libvirt-debuginfo-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-lock-sanlock-0.10.2-64.el6_10.1.x86_64.rpm
Red Hat Enterprise Linux Workstation (v. 6):
Source:
libvirt-0.10.2-64.el6_10.1.src.rpm
i386:
libvirt-0.10.2-64.el6_10.1.i686.rpm
libvirt-client-0.10.2-64.el6_10.1.i686.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.i686.rpm
libvirt-devel-0.10.2-64.el6_10.1.i686.rpm
libvirt-python-0.10.2-64.el6_10.1.i686.rpm
x86_64:
libvirt-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-client-0.10.2-64.el6_10.1.i686.rpm
libvirt-client-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.i686.rpm
libvirt-debuginfo-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-devel-0.10.2-64.el6_10.1.i686.rpm
libvirt-devel-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-python-0.10.2-64.el6_10.1.x86_64.rpm
Red Hat Enterprise Linux Workstation Optional (v. 6):
x86_64:
libvirt-debuginfo-0.10.2-64.el6_10.1.x86_64.rpm
libvirt-lock-sanlock-0.10.2-64.el6_10.1.x86_64.rpm
These packages are GPG signed by Red Hat for security. Our key and
details on how to verify the signature are available from
https://access.redhat.com/security/team/key/
Topic
An update for libvirt is now available for Red Hat Enterprise Linux 6.Red Hat Product Security has rated this update as having a security impactof Important. A Common Vulnerability Scoring System (CVSS) base score,which gives a detailed severity rating, is available for each vulnerabilityfrom the CVE link(s) in the References section.
Topic
Relevant Releases Architectures
Red Hat Enterprise Linux Desktop (v. 6) - i386, x86_64
Red Hat Enterprise Linux Desktop Optional (v. 6) - i386, x86_64
Red Hat Enterprise Linux HPC Node (v. 6) - x86_64
Red Hat Enterprise Linux HPC Node Optional (v. 6) - x86_64
Red Hat Enterprise Linux Server (v. 6) - i386, ppc64, s390x, x86_64
Red Hat Enterprise Linux Server Optional (v. 6) - x86_64
Red Hat Enterprise Linux Workstation (v. 6) - i386, x86_64
Red Hat Enterprise Linux Workstation Optional (v. 6) - x86_64
Bugs Fixed
1646781 - CVE-2018-12126 hardware: Microarchitectural Store Buffer Data Sampling (MSBDS)
1646784 - CVE-2018-12130 hardware: Microarchitectural Fill Buffer Data Sampling (MFBDS)
1667782 - CVE-2018-12127 hardware: Micro-architectural Load Port Data Sampling - Information Leak (MLPDS)
1705312 - CVE-2019-11091 hardware: Microarchitectural Data Sampling Uncacheable Memory (MDSUM)