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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2021-47192— scsi: core: sysfs: Fix hang when device state is set via sysfs

EPSS 0.04% · P12
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2021-47192

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
scsi: core: sysfs: Fix hang when device state is set via sysfs
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: scsi: core: sysfs: Fix hang when device state is set via sysfs This fixes a regression added with: commit f0f82e2476f6 ("scsi: core: Fix capacity set to zero after offlinining device") The problem is that after iSCSI recovery, iscsid will call into the kernel to set the dev's state to running, and with that patch we now call scsi_rescan_device() with the state_mutex held. If the SCSI error handler thread is just starting to test the device in scsi_send_eh_cmnd() then it's going to try to grab the state_mutex. We are then stuck, because when scsi_rescan_device() tries to send its I/O scsi_queue_rq() calls -> scsi_host_queue_ready() -> scsi_host_in_recovery() which will return true (the host state is still in recovery) and I/O will just be requeued. scsi_send_eh_cmnd() will then never be able to grab the state_mutex to finish error handling. To prevent the deadlock move the rescan-related code to after we drop the state_mutex. This also adds a check for if we are already in the running state. This prevents extra scans and helps the iscsid case where if the transport class has already onlined the device during its recovery process then we don't need userspace to do it again plus possibly block that daemon.
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存在安全漏洞,该漏洞源于通过sysfs设置设备状态时存在安全漏洞。
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 69aa1a1a569f5c6d554b59352130ef363342ed4c ~ edd783162bf2385b43de6764f2d4c6e9f4f6be27 -
LinuxLinux 5.14 -

II. Public POCs for CVE-2021-47192

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2021-47192

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-04-10 · 39 CVEs total

CVE-2021-47210usb: typec: tipd: Remove WARN_ON in tps6598x_block_read
CVE-2021-47200drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap
CVE-2021-47201iavf: free q_vectors before queues in iavf_disable_vf
CVE-2021-47202thermal: Fix NULL pointer dereferences in of_thermal_ functions
CVE-2021-47203scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq()
CVE-2021-47204net: dpaa2-eth: fix use-after-free in dpaa2_eth_remove
CVE-2021-47205clk: sunxi-ng: Unregister clocks/resets when unbinding
CVE-2021-47206usb: host: ohci-tmio: check return value after calling platform_get_resource()
CVE-2021-47207ALSA: gus: fix null pointer dereference on pointer block
CVE-2021-47209sched/fair: Prevent dead task groups from regaining cfs_rq's
CVE-2021-47199net/mlx5e: CT, Fix multiple allocations and memleak of mod acts
CVE-2021-47211ALSA: usb-audio: fix null pointer dereference on pointer cs_desc
CVE-2021-47212net/mlx5: Update error handler for UCTX and UMEM
CVE-2021-47214hugetlb, userfaultfd: fix reservation restore on userfaultfd error
CVE-2021-47215net/mlx5e: kTLS, Fix crash in RX resync flow
CVE-2021-47216scsi: advansys: Fix kernel pointer leak
CVE-2021-47217x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails
CVE-2021-47218selinux: fix NULL-pointer dereference when hashtab allocation fails
CVE-2021-47219scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs()
CVE-2021-47189btrfs: fix memory ordering between normal and ordered work functions

Showing top 20 of 39 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2021-47192

No comments yet


Leave a comment