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.
CVE-2017-1000405
Score 7.0 from GitHub Security Advisory (severity: HIGH) published 2022-05-14. NVD baseline CVSS 7.0; sources differ by 0.0.
- High severity, but no confirmed exploitation yet
A fix is available — apply it.
- CVSS v3
- 7.0
- EG Score
- 7.0(medium)
- EPSS
- 85.0%
- KEV
- Not listed
Published
November 30, 2017
Last Modified
May 13, 2026
References (12)
- cve@mitrehttp://www.securityfocus.com/bid/102032
- cve@mitrehttp://www.securitytracker.com/id/1040020
- cve@mitrehttps://access.redhat.com/errata/RHSA-2018:0180
- cve@mitrehttps://medium.com/bindecy/huge-dirty-cow-cve-2017-1000405-110eca132de0
- cve@mitrehttps://source.android.com/security/bulletin/pixel/2018-02-01
- cve@mitrehttps://www.exploit-db.com/exploits/43199/
- af854a3a-2127-422b-91ae-364da2661108http://www.securityfocus.com/bid/102032
- af854a3a-2127-422b-91ae-364da2661108http://www.securitytracker.com/id/1040020
- af854a3a-2127-422b-91ae-364da2661108https://access.redhat.com/errata/RHSA-2018:0180
- af854a3a-2127-422b-91ae-364da2661108https://medium.com/bindecy/huge-dirty-cow-cve-2017-1000405-110eca132de0
- af854a3a-2127-422b-91ae-364da2661108https://source.android.com/security/bulletin/pixel/2018-02-01
- af854a3a-2127-422b-91ae-364da2661108https://www.exploit-db.com/exploits/43199/
Patch Availability(10)
| Vendor / Ecosystem | Fixed in / Patch | Released | Source |
|---|---|---|---|
| ubuntu | linux-image-extra-3.13.0-137-generic (3.13.0-137.186) @ trusty | 2026-05-22 | ubuntu |
| ubuntu | linux-image-extra-4.13.0-1002-gcp (4.13.0-1002.5) @ xenial | 2026-05-22 | ubuntu |
| ubuntu | linux-image-extra-4.4.0-103-generic (4.4.0-103.126) @ xenial | 2026-05-22 | ubuntu |
| ubuntu | linux-image-generic-lts-trusty (3.13.0.137.127) @ precise | 2026-05-22 | ubuntu |
| ubuntu | linux-image-extra-4.11.0-1016-azure (4.11.0-1016.16) @ xenial | 2026-05-22 | ubuntu |
| ubuntu | linux-image-raspi2 (4.13.0.1008.6) @ artful | 2026-05-22 | ubuntu |
| ubuntu | linux-image-raspi2 (4.10.0.1023.24) @ zesty | 2026-05-22 | ubuntu |
| ubuntu | linux-image-extra-4.10.0-42-generic (4.10.0-42.46~16.04.1) @ xenial | 2026-05-22 | ubuntu |
| ubuntu | linux-image-extra-4.4.0-103-generic (4.4.0-103.126~14.04.1) @ trusty | 2026-05-22 | ubuntu |
| redhat | kernel-alt-0:4.11.0-44.4.1.el7a | 2018-01-25 | redhat |
Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.
All Vendor Advisories
(10)
Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.
- Red HatRHSA-2018:0180IMPORTANT2017-11-30
RHSA-2018:0180 — Important
- UbuntuUSN-3507-1HIGH
Linux kernel vulnerabilities
- UbuntuUSN-3507-2HIGH
Linux kernel (GCP) vulnerabilities
- UbuntuUSN-3508-1HIGH
Linux kernel vulnerabilities
- UbuntuUSN-3508-2HIGH
Linux kernel (HWE) vulnerabilities
- UbuntuUSN-3509-1HIGH
Linux kernel vulnerabilities
- UbuntuUSN-3509-2HIGH
Linux kernel (Xenial HWE) vulnerabilities
- UbuntuUSN-3510-1HIGH
Linux kernel vulnerabilities
- UbuntuUSN-3510-2HIGH
Linux kernel (Trusty HWE) vulnerabilities
- UbuntuUSN-3511-1HIGH
Linux kernel (Azure) vulnerabilities
Data Freshness Timeline
(refreshed 10× in last 7d / 35× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-07 13:42 UTCEPSS rescore
- 2026-07-06 16:24 UTCEPSS rescore
- 2026-07-06 16:24 UTCEPSS rescore
- 2026-07-06 02:20 UTCEPSS rescore
- 2026-07-06 02:20 UTCEPSS rescore
- 2026-07-05 02:27 UTCEPSS rescore
- 2026-07-04 06:28 UTCEPSS rescore
- 2026-07-01 15:02 UTCEPSS rescore
- 2026-06-30 23:19 UTCEPSS rescore
- 2026-06-30 23:19 UTCEPSS rescore
- 2026-06-29 14:03 UTCEPSS rescore
- 2026-06-28 14:04 UTCEPSS rescore
- 2026-06-28 04:53 UTCEPSS rescore
- 2026-06-27 03:05 UTCEPSS rescore
- 2026-06-25 13:47 UTCEPSS rescore
- 2026-06-24 14:02 UTCEPSS rescore
- 2026-06-22 21:05 UTCOSV refresh
- 2026-06-22 14:23 UTCEPSS rescore
- 2026-06-21 01:57 UTCEPSS rescore
- 2026-06-21 01:57 UTCEPSS rescore
- 2026-06-19 19:23 UTCEPSS rescore
- 2026-06-19 19:23 UTCEPSS rescore
- 2026-06-18 17:50 UTCEPSS rescore
- 2026-06-18 17:50 UTCEPSS rescore
- 2026-06-17 17:50 UTCEPSS rescore
Show 47 moreShow fewer
- 2026-06-17 17:50 UTCEPSS rescore
- 2026-06-16 17:50 UTCEPSS rescore
- 2026-06-15 17:45 UTCEPSS rescore
- 2026-06-14 23:14 UTCEPSS rescore
- 2026-06-14 23:14 UTCEPSS rescore
- 2026-06-13 22:57 UTCEPSS rescore
- 2026-06-13 22:57 UTCEPSS rescore
- 2026-06-12 23:09 UTCEPSS rescore
- 2026-06-11 13:57 UTCEPSS rescore
- 2026-06-08 14:14 UTCEPSS rescore
- 2026-06-07 15:22 UTCEPSS rescore
- 2026-06-07 15:22 UTCEPSS rescore
- 2026-06-06 13:45 UTCEPSS rescore
- 2026-06-06 13:45 UTCEPSS rescore
- 2026-06-05 22:44 UTCEPSS rescore
- 2026-06-05 11:57 UTCOSV refresh
- 2026-06-05 06:08 UTCEPSS rescore
- 2026-06-05 06:08 UTCEPSS rescore
- 2026-06-04 13:10 UTCEPSS rescore
- 2026-06-04 13:10 UTCEPSS rescore
- 2026-06-02 20:10 UTCEPSS rescore
- 2026-06-01 13:49 UTCEPSS rescore
- 2026-06-01 13:49 UTCEPSS rescore
- 2026-05-31 22:28 UTCEPSS rescore
- 2026-05-31 22:28 UTCEPSS rescore
- 2026-05-31 00:14 UTCEPSS rescore
- 2026-05-29 13:41 UTCEPSS rescore
- 2026-05-28 13:42 UTCEPSS rescore
- 2026-05-28 13:42 UTCEPSS rescore
- 2026-05-27 13:38 UTCEPSS rescore
- 2026-05-27 13:38 UTCEPSS rescore
- 2026-05-26 13:42 UTCEPSS rescore
- 2026-05-26 13:42 UTCEPSS rescore
- 2026-05-26 07:17 UTCEPSS rescore
- 2026-05-24 16:44 UTCEPSS rescore
- 2026-05-22 21:15 UTCEPSS rescore
- 2026-05-22 07:35 UTCEG score recompute
- 2026-05-22 07:35 UTCVendor advisory
- 2026-05-22 07:35 UTCGHSA enrichment
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
- 2026-05-18 21:30 UTCEPSS rescore
- 2026-05-18 21:30 UTCEPSS rescore
- 2026-05-18 21:30 UTCEPSS rescore
Publicly available exploits
(3 references)Working exploit code is in the public domain (1 GitHub PoC) (2 Exploit-DB entries). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- Exploit-DBEDB-44305First seen Dec 11, 2017
Linux Kernel - 'The Huge Dirty Cow' Overwriting The Huge Zero Page (2)
Open source ↗ - Exploit-DBEDB-43199First seen Nov 30, 2017
Linux Kernel - 'The Huge Dirty Cow' Overwriting The Huge Zero Page (1)
Open source ↗ - GitHub PoCbindecy/HugeDirtyCowPOCFirst seen Nov 29, 2017
A POC for the Huge Dirty Cow vulnerability (CVE-2017-1000405)
Open source ↗
Related CVEs(same vendor)
Frequently asked(5)
What is CVE-2017-1000405?
When was CVE-2017-1000405 disclosed?
Is CVE-2017-1000405 actively exploited?
What is the CVSS score of CVE-2017-1000405?
How do I remediate CVE-2017-1000405?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2017-1000405
Is Your Infrastructure Affected by CVE-2017-1000405?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.