Linux Kernel up to 4.18.11 on ARM64 KVM arch/arm64/kvm/guest.c input validation

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.1 | $0-$5k | 0.00 |
Summary
A vulnerability has been found in Linux Kernel up to 4.18.11 on ARM64 and classified as critical. This issue affects some unknown processing of the file arch/arm64/kvm/guest.c of the component KVM. Performing a manipulation results in input validation. This vulnerability was named CVE-2018-18021. The attack needs to be approached locally. There is no available exploit. The affected component should be upgraded.
Details
A vulnerability was found in Linux Kernel up to 4.18.11 on ARM64 (Operating System). It has been classified as critical. This affects an unknown part of the file arch/arm64/kvm/guest.c of the component KVM. The manipulation with an unknown input leads to a input validation vulnerability. CWE is classifying the issue as CWE-20. The product receives input or data, but it does
not validate or incorrectly validates that the input has the
properties that are required to process the data safely and
correctly. This is going to have an impact on confidentiality, integrity, and availability. The summary by CVE is:
arch/arm64/kvm/guest.c in KVM in the Linux kernel before 4.18.12 on the arm64 platform mishandles the KVM_SET_ON_REG ioctl. This is exploitable by attackers who can create virtual machines. An attacker can arbitrarily redirect the hypervisor flow of control (with full register control). An attacker can also cause a denial of service (hypervisor panic) via an illegal exception return. This occurs because of insufficient restrictions on userspace access to the core register file, and because PSTATE.M validation does not prevent unintended execution modes.
The bug was discovered 10/02/2018. The weakness was presented 10/07/2018 (oss-sec). The advisory is shared at openwall.com. This vulnerability is uniquely identified as CVE-2018-18021 since 10/07/2018. An attack has to be approached locally. No form of authentication is needed for exploitation. Technical details are known, but no exploit is available. The advisory points out:
This allows an attacker with permission to create KVM-based virtual machines to both panic the hypervisor by triggering an illegal exception return (resulting in a DoS) and to redirect execution elsewhere within the hypervisor with full register control, instead of causing a return to the guest.
The vulnerability was handled as a non-public zero-day exploit for at least 5 days. During that time the estimated underground price was around $0-$5k. The vulnerability scanner Nessus provides a plugin with the ID 118047 (Fedora 27 : kernel / kernel-headers (2018-94315e9a6b)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Fedora Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 157862 (Oracle Enterprise Linux Security Update for Unbreakable Enterprise kernel (ELSA-2018-4270)).
Upgrading to version 4.18.12 eliminates this vulnerability. A possible mitigation has been published 4 days after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Tenable (118047) and SecurityFocus (BID 105550†). See VDB-122244, VDB-122245, VDB-123010 and VDB-124262 for similar entries. Several companies clearly confirm that VulDB is the primary source for best 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.2VulDB Meta Temp Score: 6.1
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 7.1
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: Input validationCWE: CWE-20
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: 118047
Nessus Name: Fedora 27 : kernel / kernel-headers (2018-94315e9a6b)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Upgrade: Kernel 4.18.12
Patch: git.kernel.org
Timeline
10/02/2018 🔍10/03/2018 🔍
10/07/2018 🔍
10/07/2018 🔍
10/07/2018 🔍
10/08/2018 🔍
10/10/2018 🔍
10/11/2018 🔍
05/23/2023 🔍
Sources
Vendor: kernel.orgAdvisory: FEDORA-2018-94315e9a6b
Status: Confirmed
CVE: CVE-2018-18021 (🔍)
GCVE (CVE): GCVE-0-2018-18021
GCVE (VulDB): GCVE-100-124953
OVAL: 🔍
SecurityFocus: 105550 - Linux Kernel 'arch/arm64/kvm/guest.c' Local Privilege Escalation Vulnerability
See also: 🔍
Entry
Created: 10/08/2018 07:29Updated: 05/23/2023 08:12
Changes: 10/08/2018 07:29 (82), 03/31/2020 18:57 (4), 05/23/2023 08:08 (5), 05/23/2023 08:12 (1)
Complete: 🔍
Cache ID: 216::103
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
No comments yet. Languages: en.
Please log in to comment.