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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-21739— scsi: ufs: core: Fix use-after free in init error and remove paths

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在资源管理错误漏洞,该漏洞源于ufs驱动在初始化错误和移除路径中存在释放后重用问题。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.22% · P12

Affected Version Matrix 14

VendorProduct Version RangeStatus
Linux Linux d76d9d7d1009968dd3a0fc30e5f5ee9fbffc1350< 0a6895c03b1f439236e2d22b1a69ebfc1eb9d5ea affected
d76d9d7d1009968dd3a0fc30e5f5ee9fbffc1350< d06eb2620d3bf16056b8b7ea3744dbb5e30512f4 affected
d76d9d7d1009968dd3a0fc30e5f5ee9fbffc1350< 0dc539b888fb5f56b6eeddd95433eab557d4b0c1 affected
d76d9d7d1009968dd3a0fc30e5f5ee9fbffc1350< 0c77c0d754fe83cb154715fcfec6c3faef94f207 affected
d76d9d7d1009968dd3a0fc30e5f5ee9fbffc1350< 9c185beae09a3eb85f54777edafa227f7e03075d affected
d76d9d7d1009968dd3a0fc30e5f5ee9fbffc1350< f8fb2403ddebb5eea0033d90d9daae4c88749ada affected
5.12 affected
< 5.12 unaffected
… +6 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-21739

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: ufs: core: Fix use-after free in init error and remove paths
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: scsi: ufs: core: Fix use-after free in init error and remove paths devm_blk_crypto_profile_init() registers a cleanup handler to run when the associated (platform-) device is being released. For UFS, the crypto private data and pointers are stored as part of the ufs_hba's data structure 'struct ufs_hba::crypto_profile'. This structure is allocated as part of the underlying ufshcd and therefore Scsi_host allocation. During driver release or during error handling in ufshcd_pltfrm_init(), this structure is released as part of ufshcd_dealloc_host() before the (platform-) device associated with the crypto call above is released. Once this device is released, the crypto cleanup code will run, using the just-released 'struct ufs_hba::crypto_profile'. This causes a use-after-free situation: Call trace: kfree+0x60/0x2d8 (P) kvfree+0x44/0x60 blk_crypto_profile_destroy_callback+0x28/0x70 devm_action_release+0x1c/0x30 release_nodes+0x6c/0x108 devres_release_all+0x98/0x100 device_unbind_cleanup+0x20/0x70 really_probe+0x218/0x2d0 In other words, the initialisation code flow is: platform-device probe ufshcd_pltfrm_init() ufshcd_alloc_host() scsi_host_alloc() allocation of struct ufs_hba creation of scsi-host devices devm_blk_crypto_profile_init() devm registration of cleanup handler using platform-device and during error handling of ufshcd_pltfrm_init() or during driver removal: ufshcd_dealloc_host() scsi_host_put() put_device(scsi-host) release of struct ufs_hba put_device(platform-device) crypto cleanup handler To fix this use-after free, change ufshcd_alloc_host() to register a devres action to automatically cleanup the underlying SCSI device on ufshcd destruction, without requiring explicit calls to ufshcd_dealloc_host(). This way: * the crypto profile and all other ufs_hba-owned resources are destroyed before SCSI (as they've been registered after) * a memleak is plugged in tc-dwc-g210-pci.c remove() as a side-effect * EXPORT_SYMBOL_GPL(ufshcd_dealloc_host) can be removed fully as it's not needed anymore * no future drivers using ufshcd_alloc_host() could ever forget adding the cleanup
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 资源管理错误漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在资源管理错误漏洞,该漏洞源于ufs驱动在初始化错误和移除路径中存在释放后重用问题。
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

Vendor Product Affected Versions CPE Subscribe
Linux Linux d76d9d7d1009968dd3a0fc30e5f5ee9fbffc1350 ~ 0a6895c03b1f439236e2d22b1a69ebfc1eb9d5ea -
Linux Linux 5.12 -

II. Public POCs for CVE-2025-21739

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-21739

请登录查看更多情报信息。

Patches & Fixes for CVE-2025-21739 (4)

Same Patch Batch · Linux · 2025-02-27 · 177 CVEs total

CVE-2025-21796 9.8 CRITICAL nfsd: clear acl_access/acl_default after releasing them
CVE-2025-21805 9.8 CRITICAL RDMA/rtrs: Add missing deinit() call
CVE-2025-21707 9.8 CRITICAL mptcp: consolidate suboption status
CVE-2025-21748 9.8 CRITICAL ksmbd: fix integer overflows on 32 bit systems
CVE-2024-58006 9.6 CRITICAL PCI: dwc: ep: Prevent changing BAR size/flags in pci_epc_set_bar()
CVE-2025-21735 8.8 HIGH NFC: nci: Add bounds checking in nci_hci_create_pipe()
CVE-2024-57999 8.8 HIGH powerpc/pseries/iommu: IOMMU incorrectly marks MMIO range in DDW
CVE-2024-57997 8.8 HIGH wifi: wcn36xx: fix channel survey memory allocation size
CVE-2024-57995 8.8 HIGH wifi: ath12k: fix read pointer after free in ath12k_mac_assign_vif_to_vdev()
CVE-2025-21710 8.2 HIGH tcp: correct handling of extreme memory squeeze
CVE-2024-57973 8.1 HIGH rdma/cxgb4: Prevent potential integer overflow on 32bit
CVE-2025-21760 8.1 HIGH ndisc: extend RCU protection in ndisc_send_skb()
CVE-2025-21766 8.1 HIGH ipv4: use RCU protection in __ip_rt_update_pmtu()
CVE-2025-21765 8.1 HIGH ipv6: use RCU protection in ip6_default_advmss()
CVE-2025-21762 8.1 HIGH arp: use RCU protection in arp_xmit()
CVE-2025-21730 7.8 HIGH wifi: rtw89: avoid to init mgnt_entry list twice when WoWLAN failed
CVE-2025-21729 7.8 HIGH wifi: rtw89: fix race between cancel_hw_scan and hw_scan completion
CVE-2025-21772 7.8 HIGH partitions: mac: fix handling of bogus partition table
CVE-2024-52560 7.8 HIGH fs/ntfs3: Mark inode as bad as soon as error detected in mi_enum_attr()
CVE-2024-58002 7.8 HIGH media: uvcvideo: Remove dangling pointers

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-21739

No comments yet


Leave a comment