Bug 1516514 - (CVE-2017-1000405) CVE-2017-1000405 kernel: pmd can become dirty without going through a COW cycle
CVE-2017-1000405 kernel: pmd can become dirty without going through a COW cycle
Status: NEW
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
high Severity high
: ---
: ---
Assigned To: Red Hat Product Security
impact=important,public=20171130,repo...
: Security
Depends On: 1517816 1518490 1518491 1518492 1518493 1518494 1518495 1518611 1518612 1519115
Blocks: 1516515
  Show dependency treegraph
 
Reported: 2017-11-22 14:34 EST by Andrej Nemec
Modified: 2018-02-12 04:22 EST (History)
51 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in the patches used to fix the 'dirtycow' vulnerability (CVE-2016-5195). An attacker, able to run local code, can exploit a race condition in transparent huge pages to modify usually read-only huge pages.
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Andrej Nemec 2017-11-22 14:34:42 EST
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
Comment 1 Andrej Nemec 2017-11-22 14:34:54 EST
Acknowledgments:

Name: Eylon Ben Yaakov, Daniel Shapiro
Comment 6 Wade Mealing 2017-11-29 00:25:09 EST
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
Comment 7 Wade Mealing 2017-11-29 00:43:58 EST
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
Comment 8 Wade Mealing 2017-11-29 02:28:32 EST
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.
Comment 11 Wade Mealing 2017-11-30 02:31:49 EST
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 1519115]
Comment 12 Andrej Nemec 2017-11-30 04:55:03 EST
Public via:

http://www.openwall.com/lists/oss-security/2017/11/30/1
Comment 17 errata-xmlrpc 2018-01-25 06:03:25 EST
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

Note You need to log in before you can comment on or make changes to this bug.