RedHat: RHSA-2018-0464:01 Important: kernel security and bug fix update
Summary
The kernel packages contain the Linux kernel, the core of any Linux
operating system.
Security Fix(es):
An industry-wide issue was found in the way many modern microprocessor
designs have implemented speculative execution of instructions (a commonly
used performance optimization). There are three primary variants of the
issue which differ in the way the speculative execution can be exploited.
Note: This issue is present in hardware and cannot be fully fixed via
software update. The updated kernel packages provide software mitigation
for this hardware issue at a cost of potential performance penalty. Please
refer to References section for further information about this issue and
the performance impact.
In this update mitigations for x86-64 architecture are provided.
* Variant CVE-2017-5753 triggers the speculative execution by performing a
bounds-check bypass. It relies on the presence of a precisely-defined
instruction sequence in the privileged code as well as the fact that memory
accesses may cause allocation into the microprocessor's data cache even for
speculatively executed instructions that never actually commit (retire). As
a result, an unprivileged attacker could use this flaw to cross the syscall
boundary and read privileged memory by conducting targeted cache
side-channel attacks. (CVE-2017-5753, Important)
* Variant CVE-2017-5754 relies on the fact that, on impacted
microprocessors, during speculative execution of instruction permission
faults, exception generation triggered by a faulting access is suppressed
until the retirement of the whole instruction block. In a combination with
the fact that memory accesses may populate the cache even when the block is
being dropped and never committed (executed), an unprivileged local
attacker could use this flaw to read privileged (kernel space) memory by
conducting targeted cache side-channel attacks. (CVE-2017-5754, Important)
Red Hat would like to thank Google Project Zero for reporting these issues.
Bug Fix(es):
* Previously, the page table isolation feature was able to modify the
kernel Page Global Directory (PGD) entries with the _NX bit even for CPUs
without the capability to use the "no execute" (NX) bit technology.
Consequently, the page tables got corrupted, and the kernel panicked at the
first page-fault occurrence. This update adds the check of CPU capabilities
before modifying kernel PGD entries with _NX. As a result, the operating
system no longer panics on boot due to corrupted page tables under the
described circumstances. (BZ#1538169)
* When booting the operating system with the Kernel Page Table Isolation
option enabled, the HPET VSYSCALL shadow mapping was not placed correctly.
Consequently, the High Precision Event Timer (HPET) feature was not
available early enough, and warnings on boot time occurred. This update
fixes the placement of HPET VSYSCALL, and the warnings on boot time due to
this behavior no longer occur. (BZ#1541281)
* Previously, the routine preparing the kexec crashkernel area did not
properly clear the page allocated to be kexec's Page Global Directory
(PGD). Consequently, the page table isolation shadow mapping routines
failed with a warning message when setting up page table entries. With this
update, the underlying source code has been fixed to clear the kexec PGD
allocated page before setting up its page table entries. As a result,
warnings are no longer issued when setting up kexec. (BZ#1541285)
* When changing a kernel page mapping from Read Only (RO) to Read Write
(RW), the Translation Lookaside Buffer (TLB) entry was previously not
updated. Consequently, a protection fault on a write operation occurred,
which led to a kernel panic. With this update, the underlying source code
has been fixed to handle such kind of fault properly, and the kernel no
longer panics in the described situation. (BZ#1541892)
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
The system must be rebooted for this update to take effect.
References
https://access.redhat.com/security/updates/classification/#important https://access.redhat.com/security/vulnerabilities/speculativeexecution https://access.redhat.com/security/cve/CVE-2017-5753 https://access.redhat.com/security/cve/CVE-2017-5754
Package List
Red Hat Enterprise Linux Long Life (v. 5.9 server):
Source:
kernel-2.6.18-348.35.1.el5.src.rpm
i386:
kernel-2.6.18-348.35.1.el5.i686.rpm
kernel-PAE-2.6.18-348.35.1.el5.i686.rpm
kernel-PAE-debuginfo-2.6.18-348.35.1.el5.i686.rpm
kernel-PAE-devel-2.6.18-348.35.1.el5.i686.rpm
kernel-debug-2.6.18-348.35.1.el5.i686.rpm
kernel-debug-debuginfo-2.6.18-348.35.1.el5.i686.rpm
kernel-debug-devel-2.6.18-348.35.1.el5.i686.rpm
kernel-debuginfo-2.6.18-348.35.1.el5.i686.rpm
kernel-debuginfo-common-2.6.18-348.35.1.el5.i686.rpm
kernel-devel-2.6.18-348.35.1.el5.i686.rpm
kernel-headers-2.6.18-348.35.1.el5.i386.rpm
kernel-xen-2.6.18-348.35.1.el5.i686.rpm
kernel-xen-debuginfo-2.6.18-348.35.1.el5.i686.rpm
kernel-xen-devel-2.6.18-348.35.1.el5.i686.rpm
ia64:
kernel-2.6.18-348.35.1.el5.ia64.rpm
kernel-debug-2.6.18-348.35.1.el5.ia64.rpm
kernel-debug-debuginfo-2.6.18-348.35.1.el5.ia64.rpm
kernel-debug-devel-2.6.18-348.35.1.el5.ia64.rpm
kernel-debuginfo-2.6.18-348.35.1.el5.ia64.rpm
kernel-debuginfo-common-2.6.18-348.35.1.el5.ia64.rpm
kernel-devel-2.6.18-348.35.1.el5.ia64.rpm
kernel-headers-2.6.18-348.35.1.el5.ia64.rpm
kernel-xen-2.6.18-348.35.1.el5.ia64.rpm
kernel-xen-debuginfo-2.6.18-348.35.1.el5.ia64.rpm
kernel-xen-devel-2.6.18-348.35.1.el5.ia64.rpm
noarch:
kernel-doc-2.6.18-348.35.1.el5.noarch.rpm
x86_64:
kernel-2.6.18-348.35.1.el5.x86_64.rpm
kernel-debug-2.6.18-348.35.1.el5.x86_64.rpm
kernel-debug-debuginfo-2.6.18-348.35.1.el5.x86_64.rpm
kernel-debug-devel-2.6.18-348.35.1.el5.x86_64.rpm
kernel-debuginfo-2.6.18-348.35.1.el5.x86_64.rpm
kernel-debuginfo-common-2.6.18-348.35.1.el5.x86_64.rpm
kernel-devel-2.6.18-348.35.1.el5.x86_64.rpm
kernel-headers-2.6.18-348.35.1.el5.x86_64.rpm
kernel-xen-2.6.18-348.35.1.el5.x86_64.rpm
kernel-xen-debuginfo-2.6.18-348.35.1.el5.x86_64.rpm
kernel-xen-devel-2.6.18-348.35.1.el5.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 kernel is now available for Red Hat Enterprise Linux 5.9 LongLife.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 Long Life (v. 5.9 server) - i386, ia64, noarch, x86_64
Bugs Fixed
1519778 - CVE-2017-5753 hw: cpu: speculative execution bounds-check bypass
1519781 - CVE-2017-5754 hw: cpu: speculative execution permission faults handling