CVE-2017-1000405
Published: 30 November 2017
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.
From the Ubuntu security team
It was discovered that the Linux kernel did not properly handle copy-on- write of transparent huge pages. A local attacker could use this to cause a denial of service (application crashes) or possibly gain administrative privileges.
CVSS 3 base score: 7.0
Status
Package | Release | Status |
---|---|---|
linux Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(4.15.0-10.11)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.4.0-103.126)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Released
(3.13.0-137.186)
|
|
Patches: Introduced by 8310d48b125d19fcd9521d83b8293e63eb1646aa Fixed by a8f97366452ed491d13cf1e44241bc0b5740b1f0 |
||
linux-armadaxp Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
This package is not directly supported by the Ubuntu Security Team | ||
linux-aws Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(4.15.0-1001.1)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.4.0-1043.52)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Released
(4.4.0-1005.5)
|
|
linux-azure Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(4.15.0-1002.2)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.11.0-1016.16)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Not vulnerable
(4.15.0-1023.24~14.04.1)
|
|
linux-euclid Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-flo Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Ignored
(abandoned)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
(trusty was ignored [abandoned])
|
|
linux-gcp Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(4.15.0-1001.1)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.13.0-1002.5)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-gke Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Ignored
(was pending now end-of-life)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-goldfish Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
(trusty was ignored [abandoned])
|
|
linux-grouper Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
(trusty was ignored [abandoned])
|
|
linux-hwe Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.10.0-42.46~16.04.1)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-hwe-edge Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.10.0-42.46~16.04.1)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-kvm Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(4.15.0-1002.2)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.4.0-1012.17)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-linaro-omap Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-linaro-shared Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-linaro-vexpress Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-lts-quantal Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
This package is not directly supported by the Ubuntu Security Team | ||
linux-lts-raring Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-lts-saucy Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
This package is not directly supported by the Ubuntu Security Team | ||
linux-lts-trusty Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-lts-utopic Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
(trusty was ignored [out of standard support])
|
|
linux-lts-vivid Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
(trusty was ignored [was needs-triage now end-of-life])
|
|
linux-lts-wily Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
(trusty was ignored [out of standard support])
|
|
linux-lts-xenial Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Released
(4.4.0-103.126~14.04.1)
|
|
linux-maguro Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
(trusty was ignored [abandoned])
|
|
linux-mako Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Ignored
(abandoned)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
(trusty was ignored [abandoned])
|
|
linux-manta Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
(trusty was ignored [abandoned])
|
|
linux-oem Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(4.15.0-1001.2)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.13.0-1010.11)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-qcm-msm Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-raspi2 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Not vulnerable
(4.13.0-1008.8)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.4.0-1079.87)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-snapdragon Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Released
(4.4.0-1081.86)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
linux-ti-omap4 Launchpad, Ubuntu, Debian |
Upstream |
Released
(4.15~rc2)
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
Notes
Author | Note |
---|---|
smb | Added introducing commit as suggested by RH. We backported that into Trusty and later but not into Precise. |
References
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000405
- https://medium.com/bindecy/huge-dirty-cow-cve-2017-1000405-110eca132de0
- http://www.openwall.com/lists/oss-security/2017/11/30/1
- https://bugzilla.redhat.com/show_bug.cgi?id=1516514
- https://usn.ubuntu.com/usn/usn-3511-1
- https://usn.ubuntu.com/usn/usn-3510-1
- https://usn.ubuntu.com/usn/usn-3510-2
- https://usn.ubuntu.com/usn/usn-3509-1
- https://usn.ubuntu.com/usn/usn-3509-2
- https://usn.ubuntu.com/usn/usn-3508-1
- https://usn.ubuntu.com/usn/usn-3508-2
- https://usn.ubuntu.com/usn/usn-3507-1
- https://usn.ubuntu.com/usn/usn-3507-2
- NVD
- Launchpad
- Debian