CVE-2017-1000405
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…
- 7.0HighCVSS base score
- 2.8%Exploitation in 30 daysEPSS · top 13% of all CVEs
- NoKnown exploitednot in CISA's KEV catalog
- 2Public exploitsMetasploit, Nuclei and Exploit-DB
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.
Public exploit
An exploit or proof of concept is public: anyone can try it against an unpatched system. The public collections list 2 Exploit-DB entries for it. A reference of the record is tagged as an exploit.
Show the exploits3
Exploit-DB2 entries
- Linux Kernel - 'The Huge Dirty Cow' Overwriting The Huge Zero Page (2) (Exploit-DB entry) (opens in a new tab)
EDB-ID 44305dos, linuxpublished 11 Dec 2017Not verified
- Linux Kernel - 'The Huge Dirty Cow' Overwriting The Huge Zero Page (1) (Exploit-DB entry) (opens in a new tab)
EDB-ID 43199dos, linuxpublished 30 Nov 2017Not verified
References tagged exploit1 reference
- 43199 (opens in a new tab)exploitx_refsource_EXPLOIT-DBx_transferred
Modules, templates and exploits as listed by the Metasploit Framework (BSD-3-Clause), ProjectDiscovery's Nuclei templates (MIT) and the Exploit Database (GPLv2), read once a day. Where the data comes from
Timeline
ID reserved
By mitre
- 1 day later
· 1 day later
Published
- 7 years later
· 7 years later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| NVDNVD · Modified | 3.1 | High7.0 | CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
- EPSS (exploitation in 30 days)
- 2.8% · top 13% of all CVEs (11 Nov 2026)
The list uses the assigner's score when there is one, then CISA's, then NVD's: High 7.0.
Affected products
n/a
- affected n/a
References
References6
- 102032 (opens in a new tab)vdb-entryx_refsource_BIDx_transferred
- RHSA-2018:0180 (opens in a new tab)vendor-advisoryx_refsource_REDHATx_transferred
- https://medium.com/bindecy/huge-dirty-cow-cve-2017-1000405-110eca132de0 (opens in a new tab)x_refsource_MISCx_transferred
- https://source.android.com/security/bulletin/pixel/2018-02-01 (opens in a new tab)x_refsource_CONFIRMx_transferred
- 1040020 (opens in a new tab)vdb-entryx_refsource_SECTRACKx_transferred
- 43199 (opens in a new tab)exploitx_refsource_EXPLOIT-DBx_transferred
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- EUVD EUVD-2017-1545 (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://cveledger.app/cve/CVE-2017-1000405)Record last updated .