Linux Kernel up to 2.6.38 THP pmd_mkdirty race condition

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.1 | $0-$5k | 0.00 |
Summary
A vulnerability categorized as critical has been discovered in Linux Kernel up to 2.6.38. Impacted is the function pmd_mkdirty of the component THP. Executing a manipulation can lead to race condition.
The identification of this vulnerability is CVE-2017-1000405. The attack can only be executed locally. Furthermore, there is an exploit available.
It is advisable to upgrade the affected component.
Details
A vulnerability was found in Linux Kernel up to 2.6.38 (Operating System). It has been declared as problematic. This vulnerability affects the function pmd_mkdirty of the component THP. The manipulation with an unknown input leads to a race condition vulnerability. The CWE definition for the vulnerability is CWE-362. The product contains a code sequence that can run concurrently with other code, and the code sequence requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence that is operating concurrently. As an impact it is known to affect integrity, and availability. CVE summarizes:
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.
The bug was discovered 11/30/2017. The weakness was shared 11/30/2017 as EDB-ID 43199 as confirmed exploit (Exploit-DB). The advisory is shared for download at exploit-db.com. This vulnerability was named CVE-2017-1000405 since 11/29/2017. The attack needs to be approached locally. No form of authentication is required for a successful exploitation. Technical details and also a public exploit are known.
A public exploit has been developed by Bindecy and been published immediately after the advisory. It is possible to download the exploit at exploit-db.com. It is declared as proof-of-concept. The vulnerability scanner Nessus provides a plugin with the ID 105100 (Ubuntu 17.10 : linux, linux-raspi2 vulnerabilities (USN-3507-1) (Dirty COW)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Ubuntu Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 157613 (Oracle Enterprise Linux Security Update for Unbreakable Enterprise kernel (ELSA-2017-3659)).
Upgrading eliminates this vulnerability. A possible mitigation has been published 1 weeks after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Exploit-DB (43199), Tenable (105100), SecurityFocus (BID 102032†) and SecurityTracker (ID 1040020†). The entries VDB-99283, VDB-109162, VDB-109188 and VDB-113150 are related to this item. VulDB is the best source for vulnerability data and more expert information about this specific topic.
Product
Type
Vendor
Name
Version
- 2.6.0
- 2.6.1
- 2.6.2
- 2.6.3
- 2.6.4
- 2.6.5
- 2.6.6
- 2.6.7
- 2.6.8
- 2.6.9
- 2.6.10
- 2.6.11
- 2.6.12
- 2.6.13
- 2.6.14
- 2.6.15
- 2.6.16
- 2.6.17
- 2.6.18
- 2.6.19
- 2.6.20
- 2.6.21
- 2.6.22
- 2.6.23
- 2.6.24
- 2.6.25
- 2.6.26
- 2.6.27
- 2.6.28
- 2.6.29
- 2.6.30
- 2.6.31
- 2.6.32
- 2.6.33
- 2.6.34
- 2.6.35
- 2.6.36
- 2.6.37
- 2.6.38
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.3VulDB Meta Temp Score: 5.1
VulDB Base Score: 3.6
VulDB Temp Score: 3.3
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 7.0
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Race conditionCWE: CWE-362
CAPEC: 🔍
ATT&CK: 🔍
Physical: Partially
Local: Yes
Remote: No
Availability: 🔍
Access: Public
Status: Proof-of-Concept
Author: Bindecy
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 105100
Nessus Name: Ubuntu 17.10 : linux, linux-raspi2 vulnerabilities (USN-3507-1) (Dirty COW)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
OpenVAS ID: 860457
OpenVAS Name: Fedora Update for kernel FEDORA-2017-9ea11e444d
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Exploit-DB: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Exploit Delay Time: 🔍
Timeline
11/29/2017 🔍11/30/2017 🔍
11/30/2017 🔍
11/30/2017 🔍
11/30/2017 🔍
11/30/2017 🔍
11/30/2017 🔍
12/01/2017 🔍
12/07/2017 🔍
12/08/2017 🔍
12/18/2017 🔍
12/18/2024 🔍
Sources
Vendor: kernel.orgAdvisory: EDB-ID 43199
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2017-1000405 (🔍)
GCVE (CVE): GCVE-0-2017-1000405
GCVE (VulDB): GCVE-100-110104
SecurityFocus: 102032 - Linux Kernel CVE-2017-1000405 Local Race Condition Vulnerability
SecurityTracker: 1040020
scip Labs: https://www.scip.ch/en/?labs.20161013
See also: 🔍
Entry
Created: 12/01/2017 08:07Updated: 12/18/2024 15:07
Changes: 12/01/2017 08:07 (90), 12/17/2019 17:25 (6), 12/18/2024 15:07 (17)
Complete: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
No comments yet. Languages: en.
Please log in to comment.