Skip to content
Fencer Vulns
high 7.0

CVE-2017-1000405 json

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 implementa…

published 2017-11-30 8 y ago modified 2026-06-17 4 mo ago also EUVD-2017-1545

cvss
7.0
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
2.8%
EPSS 2.8% chance of exploitation in 30 days, percentile 86%
public exploits
2
Exploit-DB

Summary

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.

Patch / fix

  • linux linux_kernel 3.3, 3.11, 3.13, 3.16.52, 3.18.86, 4.1.48, 4.4.104, 4.9.67, 4.14.4
  • linux Debian 14, Debian 13, Debian 12 4.14.2-1

debian advisories DEBIAN-CVE-2017-1000405

  • linux Ubuntu 14.04 LTS 3.13.0-137.186
  • linux Ubuntu 16.04 LTS 4.4.0-103.126
  • linux-aws Ubuntu 14.04 LTS 4.4.0-1005.5
  • linux-aws Ubuntu 16.04 LTS 4.4.0-1043.52
  • linux-gcp Ubuntu 16.04 LTS 4.13.0-1002.5
  • linux-hwe Ubuntu 16.04 LTS 4.13.0-32.35~16.04.1
  • linux-kvm Ubuntu 16.04 LTS 4.4.0-1012.17
  • linux-oem Ubuntu 16.04 LTS 4.13.0-1010.11

ubuntu advisories UBUNTU-CVE-2017-1000405

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • kernel-alt RHEL 7 4.11.0-44.4.1.el7a
  • perf RHEL 7 4.11.0-44.4.1.el7a
  • kernel RHEL 7 4.11.0-44.4.1.el7a
  • python-perf RHEL 7 4.11.0-44.4.1.el7a
  • kernel-tools RHEL 7 4.11.0-44.4.1.el7a
  • kernel-tools-libs RHEL 7 4.11.0-44.4.1.el7a
  • kernel-bootwrapper RHEL 7 4.11.0-44.4.1.el7a
  • kernel-abi-whitelists RHEL 7 4.11.0-44.4.1.el7a

red hat advisories RHSA-2018:0180

  • kernel-rt SLE Real Time 12 SP2 4.4.104-24.1
  • kernel-syms-rt SLE Real Time 12 SP2 4.4.104-24.1
  • kernel-rt_debug SLE Real Time 12 SP2 4.4.104-24.1
  • kernel-source-rt SLE Real Time 12 SP2 4.4.104-24.1
  • kernel-ec2 SLE Module for Public Cloud 12 3.12.61-52.106.1
  • kernel-syms SLES for SAP 12 SP2, SLES for Raspberry Pi 12 SP2, SLES 12 SP2 +1 more 4.4.90-92.50.1
  • kernel-source SLES for SAP 12 SP2, SLES for Raspberry Pi 12 SP2, SLES 12 SP2 +1 more 4.4.90-92.50.1
  • kernel-default SLES for SAP 12 SP2, SLES for Raspberry Pi 12 SP2, SLES 12 SP2 +3 more 4.4.90-92.50.1

suse advisories SUSE-SU-2020:3449-1SUSE-SU-2020:3400-1SUSE-SU-2018:0213-1SUSE-SU-2017:3319-1SUSE-SU-2017:3314-1SUSE-SU-2017:3324-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2017-1000405 updated cvss 6.1

kernel: pmd can become dirty without going through a COW cycle

  • Red Hat Enterprise Linux for ARM and IBM Power LE (POWER9) Server (v. 7) perf 4.11.0-44.4.1.el7a, kernel-alt 4.11.0-44.4.1.el7a, python-perf 4.11.0-44.4.1.el7a, kernel-tools 4.11.0-44.4.1.el7a, kernel-tools-libs 4.11.0-44.4.1.el7a, kernel-bootwrapper 4.11.0-44.4.1.el7a, +3 more Red Hat Enterprise Linux for ARM and IBM Power LE (POWER9) Server Optional (v. 7) kernel 4.11.0-44.4.1.el7a, kernel-abi-whitelists 4.11.0-44.4.1.el7a, kernel-debuginfo-common-aarch64 4.11.0-44.4.1.el7a, kernel-debuginfo-common-ppc64le 4.11.0-44.4.1.el7a
    fixed: vendor fix RHSA-2018:0180
  • Red Hat Enterprise Linux 5 kernel Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise MRG 2 kernel-rt, mrg-rt-release, kernel-rt-trace, kernel-rt-vanilla, kernel-rt-firmware
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Timeline

  1. First public exploit (EDB-43199)
  2. Published

Exploit prediction

2.84% chance of exploitation in the next 30 days, higher than 86% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • EDB-44305 Linux Kernel - 'The Huge Dirty Cow' Overwriting The Huge Zero Page (2) dos, 2017-12-11
  • EDB-43199 Linux Kernel - 'The Huge Dirty Cow' Overwriting The Huge Zero Page (1) dos, 2017-11-30
  • medium.com https://medium.com/bindecy/huge-dirty-cow-cve-2017-1000405-110eca132de0 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.1 7.0 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
NVD 2.0 6.9 AV:L/AC:M/Au:N/C:C/I:C/A:C

Classification

Weakness
  • CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization
Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.