kernel: pmd can become dirty without going through a COW cycle
Published Nov 30, 2017
7.0
HIGHCVSS 3.1
EPSS 2.84%
Description
The Linux Kernel versions 2.6.38 through 4.14 have a problematic use of pmd_mkdirty() in the touch_pmd() function inside the THP implementation. touch_pmd() can be reached by get_user_pages(). In such case, the pmd will become dirty. This scenario breaks the new can_follow_write_pmd()'s logic - pmd can become dirty without going through a COW cycle. This bug is not as severe as the original "Dirty cow" because an ext4 file (or any other regular file) cannot be mapped using THP. Nevertheless, it does allow us to overwrite read-only huge pages. For example, the zero huge page and sealed shmem files can be overwritten (since their mapping can be populated using THP). Note that after the first write page-fault to the zero page, it will be replaced with a new fresh (and zeroed) thp.
Affected products
No data.
- ≥ 3.2.87 · < 3.3
- ≥ 3.10.106 · < 3.11
- ≥ 3.12.73 · < 3.13
- ≥ 3.16.42 · < 3.16.52
- ≥ 3.18.55 · < 3.18.86
- ≥ 4.1.41 · < 4.1.48
- ≥ 4.4.70 · < 4.4.104
- ≥ 4.9.7 · < 4.9.67
- ≥ 4.10 · < 4.14.4
No data.
Red Hat Enterprise Linux 7
kernel-alt-0:4.11.0-44.4.1.el7a
Fixed · RHSA-2018:0180
Red Hat Enterprise Linux 5
kernel
Not affected
Red Hat Enterprise Linux 6
kernel
Not affected
Red Hat Enterprise Linux 7
kernel
Not affected
Red Hat Enterprise Linux 7
kernel-rt
Not affected
Red Hat Enterprise MRG 2
realtime-kernel
Not affected
| Product | Package | State | Advisory |
|---|---|---|---|
| Red Hat Enterprise Linux 7 | kernel-alt-0:4.11.0-44.4.1.el7a | Fixed | RHSA-2018:0180 |
| Red Hat Enterprise Linux 5 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 6 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 7 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 7 | kernel-rt | Not affected | n/a |
| Red Hat Enterprise MRG 2 | realtime-kernel | Not affected | n/a |
No package ranges for this CVE.
Remediation
Red Hat 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
Red Hat 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.
Metrics
No CVSS v4.0 score for this CVE.
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
AV:L/AC:M/Au:N/C:C/I:C/A:C
This CVE is not in the KEV list.
No CISA SSVC assessment for this CVE yet.
Estimated probability of exploitation in the wild in the next 30 days (FIRST EPSS). As of Oct 3, 2026.
Score over time
2021–2026- EPSS v1
- EPSS v2
- EPSS v3
- EPSS v4
- EPSS v5
Percentile over time
- EPSS v1
- EPSS v2
- EPSS v3
- EPSS v4
- EPSS v5
Table of values (15 key points)
Flat stretches are collapsed; showing up to 120 newest points.
| Date | Score | Percentile | Model |
|---|---|---|---|
| Oct 3, 2026 | 2.84% (0.02841) | 86.20th | v5 (v2026.06.15) |
| Jun 15, 2026 | 2.84% (0.02841) | 84.78th | v5 (v2026.06.15) |
| Mar 18, 2026 | 7.26% (0.07262) | 91.54th | v4 (v2025.03.14) |
| May 15, 2025 | 3.73% (0.03733) | 87.38th | v4 (v2025.03.14) |
| Mar 17, 2025 | 2.02% (0.02024) | 82.57th | v4 (v2025.03.14) |
| Dec 12, 2024 | 0.18% (0.00179) | 56.44th | v3 (v2023.03.01) |
| Jun 20, 2024 | 0.18% (0.00179) | 55.29th | v3 (v2023.03.01) |
| Mar 7, 2023 | 0.18% (0.00179) | 53.29th | v3 (v2023.03.01) |
| Mar 6, 2023 | 3.64% (0.03636) | 85.00th | v2 (v2022.01.01) |
| Apr 1, 2022 | 3.64% (0.03636) | 83.47th | v2 (v2022.01.01) |
| Feb 4, 2022 | 3.64% (0.03636) | 66.63th | v2 (v2022.01.01) |
| Feb 3, 2022 | 6.21% (0.06208) | 81.93th | v1 |
| Jan 6, 2022 | 6.21% (0.06208) | 81.75th | v1 |
| Sep 1, 2021 | 6.21% (0.06208) | 89.66th | v1 |
| Apr 14, 2021 | 6.21% (0.06208) | 0.00th | v1 |
References (10)
- http://www.securityfocus.com/bid/102032 vdb-entryx_refsource_BIDThird Party AdvisoryVDB Entry
- http://www.securitytracker.com/id/1040020 vdb-entryx_refsource_SECTRACKThird Party AdvisoryVDB Entry
- https://access.redhat.com/errata/RHSA-2018:0180 vendor-advisoryx_refsource_REDHATThird Party Advisory
- https://access.redhat.com/security/cve/CVE-2017-1000405 Vendor Advisory
- https://bugzilla.redhat.com/show_bug.cgi?id=1516514 Issue Tracking
- https://medium.com/bindecy/huge-dirty-cow-cve-2017-1000405-110eca132de0 x_refsource_MISCExploitIssue TrackingThird Party Advisory
- https://nvd.nist.gov/vuln/detail/CVE-2017-1000405
- https://source.android.com/security/bulletin/pixel/2018-02-01 x_refsource_CONFIRMThird Party Advisory
- https://www.cve.org/CVERecord?id=CVE-2017-1000405
- https://www.exploit-db.com/exploits/43199/ exploitx_refsource_EXPLOIT-DBIssue TrackingThird Party AdvisoryVDB Entry
| Link | Providers | Tags |
|---|---|---|
| http://www.securityfocus.com/bid/102032 | vdb-entryx_refsource_BIDThird Party AdvisoryVDB Entry | |
| http://www.securitytracker.com/id/1040020 | vdb-entryx_refsource_SECTRACKThird Party AdvisoryVDB Entry | |
| https://access.redhat.com/errata/RHSA-2018:0180 | vendor-advisoryx_refsource_REDHATThird Party Advisory | |
| https://access.redhat.com/security/cve/CVE-2017-1000405 | Vendor Advisory | |
| https://bugzilla.redhat.com/show_bug.cgi?id=1516514 | Issue Tracking | |
| https://medium.com/bindecy/huge-dirty-cow-cve-2017-1000405-110eca132de0 | x_refsource_MISCExploitIssue TrackingThird Party Advisory | |
| https://nvd.nist.gov/vuln/detail/CVE-2017-1000405 | ||
| https://source.android.com/security/bulletin/pixel/2018-02-01 | x_refsource_CONFIRMThird Party Advisory | |
| https://www.cve.org/CVERecord?id=CVE-2017-1000405 | ||
| https://www.exploit-db.com/exploits/43199/ | exploitx_refsource_EXPLOIT-DBIssue TrackingThird Party AdvisoryVDB Entry |
Change history (0)
No recorded changes yet.