First published: Thu Jan 25 2018(Updated: )
The kernel packages contain the Linux kernel, the core of any Linux operating system.<br>Security Fix(es):<br>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.<br>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.<br>In this update initial mitigations for IBM Power (PowerPC) and IBM zSeries (S390) architectures are provided.<br>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, PowerPC, S390)<br>Variant CVE-2017-5715 triggers the speculative execution by utilizing branch target injection. 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 and guest/host boundaries and read privileged memory by conducting targeted cache side-channel attacks. (CVE-2017-5715, Important, S390)<br>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, PowerPC)<br>Red Hat would like to thank Google Project Zero for reporting these issues.<br>Bug Fix(es):<br><li> When attempting to reread parent blocks in btree traversal, the xfs code which deletes extended attributes from an inode assumed that the parent blocks were still on the cache. Under memory pressure and memory reclaim, such parent blocks were sometimes removed from the cache. Consequently, attempts to reread previously cached parent blocks caused the file system to read invalid memory. This update fixes xfs to reinitialize the pointer to the parent block buffers after the block has been reread. As a result, pointers to btree blocks now point to valid memory, and the kernel no longer crashes due to an invalid memory access. (BZ#1512811)</li> <li> The write access check for huge pages did not function correctly on IBM z Systems. Consequently, if asynchronous I/O reads were used, buffers sometimes contained zeroes rather than data from a file, even when the io_getevents() system call reported that the associated read had finished successfully. This update fixes the write access check in the gup_huge_pmd() function in memory management, and read data is stored in asynchronous I/O buffers properly. (BZ#1513315)</li> <li> With this update, the rule for iptables reloading has been optimized to complete faster. (BZ#1514040)</li>
Affected Software | Affected Version | How to fix |
---|---|---|
redhat/kernel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-abi-whitelists | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debug | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debug-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debug-devel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-devel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-doc | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-headers | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools-libs | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools-libs-devel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/perf | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/perf-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/python-perf | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/python-perf-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debug | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debug-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debug-devel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debuginfo-common-s390x | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-devel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-headers | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-kdump | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-kdump-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-kdump-devel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/perf | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/perf-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/python-perf | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/python-perf-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-bootwrapper | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debuginfo-common-ppc64 | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools-libs | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools-libs-devel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-bootwrapper | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debug | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debug-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debug-devel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-debuginfo-common-ppc64le | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-devel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-headers | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools-libs | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/kernel-tools-libs-devel | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/perf | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/perf-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/python-perf | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
redhat/python-perf-debuginfo | <3.10.0-514.41.1.el7 | 3.10.0-514.41.1.el7 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.