Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2022-48862— vhost: fix hung thread due to erroneous iotlb entries

EPSS 0.03% · P10
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2022-48862

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
vhost: fix hung thread due to erroneous iotlb entries
Source: NVD (National Vulnerability Database)
Vulnerability 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.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于vhost模块中发现线程挂起问题。在vhost_iotlb_add_range_ctx函数中,范围大小可能会溢出到0。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 0bbe30668d89ec8a309f28ced6d092c90fb23e8c ~ f8d88e86e90ea1002226d7ac2430152bfea003d1 -
LinuxLinux 5.7 -

II. Public POCs for CVE-2022-48862

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2022-48862

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-07-16 · 98 CVEs total

CVE-2022-48831ima: fix reference leak in asymmetric_verify()
CVE-2022-48825scsi: qedf: Add stag_work to all the vports
CVE-2022-48821misc: fastrpc: avoid double fput() on failed usercopy
CVE-2022-48819tcp: take care of mixed splice()/sendmsg(MSG_ZEROCOPY) case
CVE-2022-48820phy: stm32: fix a refcount leak in stm32_usbphyc_pll_enable()
CVE-2022-48818net: dsa: mv88e6xxx: don't use devres for mdiobus
CVE-2022-48817net: dsa: ar9331: register the mdiobus under devres
CVE-2022-48822usb: f_fs: Fix use-after-free for epfile
CVE-2022-48828NFSD: Fix ia_size underflow
CVE-2022-48830can: isotp: fix potential CAN frame reception race in isotp_rcv()
CVE-2022-48829NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes
CVE-2022-48832audit: don't deref the syscall args when checking the openat2 open_how::flags
CVE-2022-48834usb: usbtmc: Fix bug in pipe direction for control transfers
CVE-2022-48833btrfs: skip reserved bytes warning on unmount after log cleanup failure
CVE-2022-48835scsi: mpt3sas: Page fault in reply q processing
CVE-2022-48837usb: gadget: rndis: prevent integer overflow in rndis_set_response()
CVE-2022-48836Input: aiptek - properly check endpoint type
CVE-2022-48838usb: gadget: Fix use-after-free bug by not setting udc->dev.driver
CVE-2022-48839net/packet: fix slab-out-of-bounds access in packet_recvmsg()
CVE-2022-48840iavf: Fix hang during reboot/shutdown

Showing top 20 of 98 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2022-48862

No comments yet


Leave a comment