Linux Kernel up to 4.12.9 Crafted Program mmu_context.h init_new_context CONFIG_MODIFY_LDT_SYSCALL=y use after free

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.0 | $0-$5k | 0.00 |
Summary
A vulnerability has been found in Linux Kernel up to 4.12.9 and classified as critical. Affected is the function init_new_context of the file arch/x86/include/asm/mmu_context.h of the component Crafted Program. Performing a manipulation of the argument CONFIG_MODIFY_LDT_SYSCALL=y results in use after free.
This vulnerability was named CVE-2017-17053. The attack needs to be approached locally. There is no available exploit.
To fix this issue, it is recommended to deploy a patch.
Details
A vulnerability classified as critical has been found in Linux Kernel up to 4.12.9 (Operating System). This affects the function init_new_context of the file arch/x86/include/asm/mmu_context.h of the component Crafted Program. The manipulation of the argument CONFIG_MODIFY_LDT_SYSCALL=y with an unknown input leads to a use after free vulnerability. CWE is classifying the issue as CWE-416. Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code. This is going to have an impact on confidentiality, integrity, and availability. The summary by CVE is:
The init_new_context function in arch/x86/include/asm/mmu_context.h in the Linux kernel before 4.12.10 does not correctly handle errors from LDT table allocation when forking a new process, allowing a local attacker to achieve a use-after-free or possibly have unspecified other impact by running a specially crafted program. This vulnerability only affected kernels built with CONFIG_MODIFY_LDT_SYSCALL=y.
The bug was discovered 08/25/2017. The weakness was presented 11/29/2017 as confirmed git commit (GIT Repository). It is possible to read the advisory at git.kernel.org. This vulnerability is uniquely identified as CVE-2017-17053 since 11/28/2017. Attacking locally is a requirement. A authentication is necessary for exploitation. Technical details of the vulnerability are known, but there is no available exploit.
The vulnerability was handled as a non-public zero-day exploit for at least 95 days. During that time the estimated underground price was around $0-$5k. The vulnerability scanner Nessus provides a plugin with the ID 108984 (RHEL 7 : kernel-rt (RHSA-2018:0676)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Red Hat Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 236711 (Red Hat Update for kernel-rt (RHSA-2018:0676)).
Upgrading to version 4.12.10 eliminates this vulnerability. Applying a patch is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be patching the affected component. A possible mitigation has been published 5 months after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Tenable (108984) and SecurityFocus (BID 102010†). See VDB-110109, VDB-110311, VDB-111885 and VDB-111886 for similar entries. Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Product
Type
Vendor
Name
Version
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.1VulDB Meta Temp Score: 6.0
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
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: Use after freeCWE: CWE-416 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: Partially
Local: Yes
Remote: No
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 108984
Nessus Name: RHEL 7 : kernel-rt (RHSA-2018:0676)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Upgrade: Kernel 4.12.10
Patch: git.kernel.org
Timeline
08/25/2017 🔍11/28/2017 🔍
11/28/2017 🔍
11/29/2017 🔍
11/29/2017 🔍
12/01/2017 🔍
04/10/2018 🔍
04/11/2018 🔍
01/16/2023 🔍
Sources
Vendor: kernel.orgAdvisory: RHSA-2018:0676
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2017-17053 (🔍)
GCVE (CVE): GCVE-0-2017-17053
GCVE (VulDB): GCVE-100-110043
SecurityFocus: 102010 - Linux Kernel CVE-2017-17053 Local Use After Free Memory Corruption Vulnerability
See also: 🔍
Entry
Created: 11/29/2017 19:25Updated: 01/16/2023 14:25
Changes: 11/29/2017 19:25 (76), 12/11/2019 08:53 (9), 01/16/2023 14:25 (4)
Complete: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.