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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2023-53791— md: fix warning for holder mismatch from export_rdev()

AI Predicted 3.7 Difficulty: Hard EPSS 0.18% · P8

Possible ATT&CK Techniques 1AI

T1059 · Command and Scripting Interpreter

Affected Version Matrix 6

VendorProductVersion RangeStatus
LinuxLinuxa1d7671910965ca9f8f0377e7e3bfd1179fba4d8< 99fcd427178d0f58f5520f8f01df727f8eaeb2c7affected
a1d7671910965ca9f8f0377e7e3bfd1179fba4d8< 99892147f028d711f9d40fefad4f33632593864caffected
6.5affected
< 6.5unaffected
6.5.5≤ 6.5.*unaffected
6.6≤ *unaffected
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2023-53791

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
md: fix warning for holder mismatch from export_rdev()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: md: fix warning for holder mismatch from export_rdev() Commit a1d767191096 ("md: use mddev->external to select holder in export_rdev()") fix the problem that 'claim_rdev' is used for blkdev_get_by_dev() while 'rdev' is used for blkdev_put(). However, if mddev->external is changed from 0 to 1, then 'rdev' is used for blkdev_get_by_dev() while 'claim_rdev' is used for blkdev_put(). And this problem can be reporduced reliably by following: New file: mdadm/tests/23rdev-lifetime devname=${dev0##*/} devt=`cat /sys/block/$devname/dev` pid="" runtime=2 clean_up_test() { pill -9 $pid echo clear > /sys/block/md0/md/array_state } trap 'clean_up_test' EXIT add_by_sysfs() { while true; do echo $devt > /sys/block/md0/md/new_dev done } remove_by_sysfs(){ while true; do echo remove > /sys/block/md0/md/dev-${devname}/state done } echo md0 > /sys/module/md_mod/parameters/new_array || die "create md0 failed" add_by_sysfs & pid="$pid $!" remove_by_sysfs & pid="$pid $!" sleep $runtime exit 0 Test cmd: ./test --save-logs --logdir=/tmp/ --keep-going --dev=loop --tests=23rdev-lifetime Test result: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 960 at block/bdev.c:618 blkdev_put+0x27c/0x330 Modules linked in: multipath md_mod loop CPU: 0 PID: 960 Comm: test Not tainted 6.5.0-rc2-00121-g01e55c376936-dirty #50 RIP: 0010:blkdev_put+0x27c/0x330 Call Trace: <TASK> export_rdev.isra.23+0x50/0xa0 [md_mod] mddev_unlock+0x19d/0x300 [md_mod] rdev_attr_store+0xec/0x190 [md_mod] sysfs_kf_write+0x52/0x70 kernfs_fop_write_iter+0x19a/0x2a0 vfs_write+0x3b5/0x770 ksys_write+0x74/0x150 __x64_sys_write+0x22/0x30 do_syscall_64+0x40/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd Fix the problem by recording if 'rdev' is used as holder.
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存在安全漏洞,该漏洞源于export_rdev函数中的持有者不匹配问题。
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 a1d7671910965ca9f8f0377e7e3bfd1179fba4d8 ~ 99fcd427178d0f58f5520f8f01df727f8eaeb2c7 -
LinuxLinux 6.5 -

II. Public POCs for CVE-2023-53791

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-53791

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-12-09 · 152 CVEs total

CVE-2022-506669.8 CRITICALRDMA/siw: Fix QP destroy to wait for all references dropped.
CVE-2025-403439.8 CRITICALnvmet-fc: avoid scheduling association deletion twice
CVE-2023-537949.8 CRITICALcifs: fix session state check in reconnect to avoid use-after-free issue
CVE-2025-403428.8 HIGHnvme-fc: use lock accessing port_state and rport state
CVE-2023-538228.8 HIGHwifi: ath11k: Ignore frags from uninitialized peer in dp.
CVE-2023-537858.8 HIGHmt76: mt7921: don't assume adequate headroom for SDIO headers
CVE-2025-403368.8 HIGHdrm/gpusvm: fix hmm_pfn_to_map_order() usage
CVE-2023-538278.8 HIGHBluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
CVE-2025-403288.8 HIGHsmb: client: fix potential UAF in smb2_close_cached_fid()
CVE-2023-538518.4 HIGHdrm/msm/dp: Drop aux devices together with DP controller
CVE-2025-403378.2 HIGHnet: stmmac: Correctly handle Rx checksum offload errors
CVE-2022-506568.1 HIGHnfc: pn533: Clear nfc_target before being used
CVE-2023-538038.1 HIGHscsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process()
CVE-2023-538387.8 HIGHf2fs: synchronize atomic write aborts
CVE-2023-538607.8 HIGHdm: don't attempt to queue IO under RCU protection
CVE-2023-538297.8 HIGHf2fs: flush inode if atomic file is aborted
CVE-2023-537907.8 HIGHbpf: Zeroing allocated object from slab in bpf memory allocator
CVE-2023-537957.8 HIGHiommufd: IOMMUFD_DESTROY should not increase the refcount
CVE-2023-538447.8 HIGHdrm/ttm: Don't leak a resource on swapout move error
CVE-2023-538467.8 HIGHf2fs: fix to do sanity check on direct node in truncate_dnode()

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

IV. Related Vulnerabilities

V. Comments for CVE-2023-53791

No comments yet


Leave a comment