A flaw was found in the patches used to fix the 'dirtycow' vulnerability CVE-2016-5195). The touch_pmd() function can be accessed by get_user_pages(). In this case, the pmd will become dirty without going through the Copy On Write cycle. In the simplest example, a large page that is read-only can be modified, including page 0 of a processes virtual address space. Upstream patch: https://github.com/torvalds/linux/commit/a8f97366452ed491d13cf1e44241bc0b5740b1f0 Vulnerability announcement: http://www.openwall.com/lists/oss-security/2017/11/30/1
Acknowledgments: Name: Eylon Ben Yaakov, Daniel Shapiro
Statement: From the initial flaw description released, this issue does not affect the Linux kernel packages as shipped with Red Hat Enterprise Linux 5, 6, 7 and Red Hat Enterprise MRG 2. They do not contain the upstream commit (8310d48b125d19fcd9521d83b8293e63eb1646aa) which allows the race condition. This issue affects the Linux kernel packages as shipped with Red Hat Enterprise Linux 7 for ARM and Red Hat Enterprise Linux for Power LE. Future Linux kernel updates for the respective releases may address this issue. For further information please refer to the vulnerability article in the Customer Portal: https://access.redhat.com/security/vulnerabilities/3253921
What is Red Hat Enterprise Linux 7 for ARM, Red Hat Enterprise Linux for Power LE, and kernel-alt: The kernel-alt package as shipped with Red Hat Enterprise Linux 7 for ARM and Red Hat Enterprise Linux for Power LE is an updated kernel intended to support new architectures not available at the time of Red Hat Enterprise Linux 7 original shipping. The new kernel version provided by the kernel-alt packages is based on upstream version 4.11 . The offering is distributed with other updated packages but most of the userspace is the standard Red Hat Enterprise Linux 7 Server RPMs. For more information please refer to: https://access.redhat.com/articles/3158541 https://access.redhat.com/articles/3158511
Mitigation: Disabling the use of zero page: It is possible to prevent the zero page from being mapped as a huge page, by modifying a configuration tunable in the /sys directory as shown below. This prevents the flaw from being exercised in this method. # echo 0 > /sys/kernel/mm/transparent_hugepage/use_zero_page Disabling huge pages: It is possible to mitigate this flaw by disabling hugepages on a system. Some user applications may require hugepages to be performant, and may suffer a performance penalty when running without hugepages. Red Hat has existing solutions created instructing how to disable transparent How to disable transparent hugepages (THP) on Red Hat Enterprise Linux 7 https://access.redhat.com/solutions/1320153 If your application may require transparent huge pages, please consult your software vendor to confirm.
Created kernel tracking bugs for this issue: Affects: fedora-all [bug 1519115]
Public via: http://www.openwall.com/lists/oss-security/2017/11/30/1
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2018:0180 https://access.redhat.com/errata/RHSA-2018:0180