Skip to main content

CVE-2022-48862: Vulnerability in Linux Linux

High
VulnerabilityCVE-2022-48862cvecve-2022-48862
Published: Tue Jul 16 2024 (07/16/2024, 12:25:25 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: vhost: fix hung thread due to erroneous iotlb entries In vhost_iotlb_add_range_ctx(), range size can overflow to 0 when start is 0 and last is ULONG_MAX. One instance where it can happen is when userspace sends an IOTLB message with iova=size=uaddr=0 (vhost_process_iotlb_msg). So, an entry with size = 0, start = 0, last = ULONG_MAX ends up in the iotlb. Next time a packet is sent, iotlb_access_ok() loops indefinitely due to that erroneous entry. Call Trace: <TASK> iotlb_access_ok+0x21b/0x3e0 drivers/vhost/vhost.c:1340 vq_meta_prefetch+0xbc/0x280 drivers/vhost/vhost.c:1366 vhost_transport_do_send_pkt+0xe0/0xfd0 drivers/vhost/vsock.c:104 vhost_worker+0x23d/0x3d0 drivers/vhost/vhost.c:372 kthread+0x2e9/0x3a0 kernel/kthread.c:377 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 </TASK> Reported by syzbot at: https://syzkaller.appspot.com/bug?extid=0abd373e2e50d704db87 To fix this, do two things: 1. Return -EINVAL in vhost_chr_write_iter() when userspace asks to map a range with size 0. 2. Fix vhost_iotlb_add_range_ctx() to handle the range [0, ULONG_MAX] by splitting it into two entries.

AI-Powered Analysis

AILast updated: 06/30/2025, 22:55:38 UTC

Technical Analysis

CVE-2022-48862 is a vulnerability identified in the Linux kernel's vhost subsystem, specifically related to the handling of IOTLB (I/O Translation Lookaside Buffer) entries. The vulnerability arises in the function vhost_iotlb_add_range_ctx(), where a range size can overflow to zero when the start address is 0 and the last address is ULONG_MAX (the maximum unsigned long value). This situation can occur if userspace sends an IOTLB message with iova=size=uaddr=0, leading to an erroneous IOTLB entry with size=0, start=0, and last=ULONG_MAX. This malformed entry causes the function iotlb_access_ok() to enter an infinite loop when processing packets, effectively causing a hung thread in the vhost kernel driver. The vhost driver is used to accelerate virtualized network and storage I/O by offloading packet processing to the kernel, commonly used in virtualization environments such as QEMU/KVM. The infinite loop results in a denial of service (DoS) condition by stalling the vhost worker thread, which can degrade or halt virtualized I/O operations. The fix involves two key changes: (1) vhost_chr_write_iter() now returns -EINVAL if userspace attempts to map a range with size 0, preventing invalid entries from being created; (2) vhost_iotlb_add_range_ctx() is updated to properly handle the edge case of the full range [0, ULONG_MAX] by splitting it into two valid entries, avoiding overflow and infinite loops. This vulnerability was reported by syzbot, an automated kernel fuzzer, and has been publicly disclosed without known exploits in the wild as of the publication date.

Potential Impact

For European organizations, particularly those utilizing Linux-based virtualization platforms (e.g., QEMU/KVM) in cloud, data center, or enterprise environments, this vulnerability poses a risk of denial of service. The hung thread caused by the infinite loop can degrade performance or cause service outages in virtualized network or storage I/O, impacting availability of critical applications and services. Organizations relying on virtualized infrastructure for hosting business-critical workloads, including financial services, telecommunications, and government services, may experience disruptions. While the vulnerability does not directly lead to privilege escalation or data leakage, the availability impact can be significant in environments with high virtualization density or where vhost is heavily used. Additionally, the vulnerability could be leveraged as part of a multi-stage attack to disrupt services or as a vector for ransomware or other malicious activities that exploit service downtime. The absence of known exploits in the wild reduces immediate risk, but unpatched systems remain vulnerable to potential future exploitation.

Mitigation Recommendations

European organizations should prioritize updating their Linux kernel to the patched versions that include the fixes for CVE-2022-48862. Specifically, ensure that the kernel version includes the changes to vhost_chr_write_iter() and vhost_iotlb_add_range_ctx() as described. For environments where immediate patching is not feasible, consider disabling the vhost kernel driver if it is not required, or restricting access to the vhost interface to trusted userspaces only. Monitoring kernel logs for unusual vhost worker thread behavior or hangs can provide early detection of exploitation attempts. Virtualization administrators should audit their configurations to ensure that userspace components interacting with vhost do not send malformed IOTLB messages. Implementing strict input validation and employing security best practices for virtualization management interfaces will reduce risk. Finally, maintain up-to-date vulnerability management and incident response plans to quickly address any emerging threats related to this vulnerability.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-07-16T11:38:08.920Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d982fc4522896dcbe63f5

Added to database: 5/21/2025, 9:09:03 AM

Last enriched: 6/30/2025, 10:55:38 PM

Last updated: 8/8/2025, 4:23:02 PM

Views: 14

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats