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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2021-46959— spi: Fix use-after-free with devm_spi_alloc_*

EPSS 0.01% · P2
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2021-46959

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
spi: Fix use-after-free with devm_spi_alloc_*
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: spi: Fix use-after-free with devm_spi_alloc_* We can't rely on the contents of the devres list during spi_unregister_controller(), as the list is already torn down at the time we perform devres_find() for devm_spi_release_controller. This causes devices registered with devm_spi_alloc_{master,slave}() to be mistakenly identified as legacy, non-devm managed devices and have their reference counters decremented below 0. ------------[ cut here ]------------ WARNING: CPU: 1 PID: 660 at lib/refcount.c:28 refcount_warn_saturate+0x108/0x174 [<b0396f04>] (refcount_warn_saturate) from [<b03c56a4>] (kobject_put+0x90/0x98) [<b03c5614>] (kobject_put) from [<b0447b4c>] (put_device+0x20/0x24) r4:b6700140 [<b0447b2c>] (put_device) from [<b07515e8>] (devm_spi_release_controller+0x3c/0x40) [<b07515ac>] (devm_spi_release_controller) from [<b045343c>] (release_nodes+0x84/0xc4) r5:b6700180 r4:b6700100 [<b04533b8>] (release_nodes) from [<b0454160>] (devres_release_all+0x5c/0x60) r8:b1638c54 r7:b117ad94 r6:b1638c10 r5:b117ad94 r4:b163dc10 [<b0454104>] (devres_release_all) from [<b044e41c>] (__device_release_driver+0x144/0x1ec) r5:b117ad94 r4:b163dc10 [<b044e2d8>] (__device_release_driver) from [<b044f70c>] (device_driver_detach+0x84/0xa0) r9:00000000 r8:00000000 r7:b117ad94 r6:b163dc54 r5:b1638c10 r4:b163dc10 [<b044f688>] (device_driver_detach) from [<b044d274>] (unbind_store+0xe4/0xf8) Instead, determine the devm allocation state as a flag on the controller which is guaranteed to be stable during cleanup.
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 存在安全漏洞,该漏洞源于 devm_spi_alloc_* 存在释放后重用问题。
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 a4add022c1552b0d51a0b89a4781919d6ebac4f9 ~ 62bb2c7f2411a0045c24831f11ecacfc35610815 -
LinuxLinux 5.10 -

II. Public POCs for CVE-2021-46959

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2021-46959

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-02-29 · 53 CVEs total

CVE-2021-47020soundwire: stream: fix memory leak in stream config error path
CVE-2021-47068net/nfc: fix use-after-free llcp_sock_bind/connect
CVE-2021-47067soc/tegra: regulators: Fix locking up when voltage-spread is out of range
CVE-2021-47062KVM: SVM: Use online_vcpus, not created_vcpus, to iterate over vCPUs
CVE-2021-47065rtw88: Fix array overrun in rtw_get_tx_power_params()
CVE-2021-47064mt76: fix potential DMA mapping leak
CVE-2021-47063drm: bridge/panel: Cleanup connector on bridge detach
CVE-2021-47066async_xor: increase src_offs when dropping destination page
CVE-2021-47055mtd: require write permissions for locking and badblock ioctls
CVE-2021-47054bus: qcom: Put child node before return
CVE-2021-47056crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init
CVE-2021-47016m68k: mvme147,mvme16x: Don't wipe PCC timer config bits
CVE-2024-26620s390/vfio-ap: always filter entire AP matrix
CVE-2024-26619riscv: Fix module loading free order
CVE-2024-26618arm64/sme: Always exit sme_alloc() early with existing storage
CVE-2024-26617fs/proc/task_mmu: move mmu notification mechanism inside mm lock
CVE-2024-26616btrfs: scrub: avoid use-after-free when chunk length is not 64K aligned
CVE-2024-26615net/smc: fix illegal rmb_desc access in SMC-D connection dump
CVE-2024-26614tcp: make sure init the accept_queue's spinlocks once
CVE-2024-26612netfs, fscache: Prevent Oops in fscache_put_cache()

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

IV. Related Vulnerabilities

V. Comments for CVE-2021-46959

No comments yet


Leave a comment