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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-21664— dm thin: make get_first_thin use rcu-safe list first function

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存在安全漏洞,该漏洞源于dm thin模块中get_first_thin函数未正确使用RCU安全的列表操作。这可能导致内存访问错误或系统崩溃。

CVSS 7.8 · High EPSS 0.24% · P14

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 16

VendorProduct Version RangeStatus
Linux Linux b10ebd34cccae1b431caf1be54919aede2be7cbe< ec037fe8c0d0f6140e3d8a49c7b29cb5582160b8 affected
b10ebd34cccae1b431caf1be54919aede2be7cbe< cd30a3960433ec2db94b3689752fa3c5df44d649 affected
b10ebd34cccae1b431caf1be54919aede2be7cbe< 802666a40c71a23542c43a3f87e3a2d0f4e8fe45 affected
b10ebd34cccae1b431caf1be54919aede2be7cbe< 12771050b6d059eea096993bf2001da9da9fddff affected
b10ebd34cccae1b431caf1be54919aede2be7cbe< 6b305e98de0d225ccebfb225730a9f560d28ecb0 affected
b10ebd34cccae1b431caf1be54919aede2be7cbe< cbd0d5ecfa390ac29c5380200147d09c381b2ac6 affected
b10ebd34cccae1b431caf1be54919aede2be7cbe< 80f130bfad1dab93b95683fc39b87235682b8f72 affected
3.15 affected
… +8 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-21664

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
dm thin: make get_first_thin use rcu-safe list first function
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: dm thin: make get_first_thin use rcu-safe list first function The documentation in rculist.h explains the absence of list_empty_rcu() and cautions programmers against relying on a list_empty() -> list_first() sequence in RCU safe code. This is because each of these functions performs its own READ_ONCE() of the list head. This can lead to a situation where the list_empty() sees a valid list entry, but the subsequent list_first() sees a different view of list head state after a modification. In the case of dm-thin, this author had a production box crash from a GP fault in the process_deferred_bios path. This function saw a valid list head in get_first_thin() but when it subsequently dereferenced that and turned it into a thin_c, it got the inside of the struct pool, since the list was now empty and referring to itself. The kernel on which this occurred printed both a warning about a refcount_t being saturated, and a UBSAN error for an out-of-bounds cpuid access in the queued spinlock, prior to the fault itself. When the resulting kdump was examined, it was possible to see another thread patiently waiting in thin_dtr's synchronize_rcu. The thin_dtr call managed to pull the thin_c out of the active thins list (and have it be the last entry in the active_thins list) at just the wrong moment which lead to this crash. Fortunately, the fix here is straight forward. Switch get_first_thin() function to use list_first_or_null_rcu() which performs just a single READ_ONCE() and returns NULL if the list is already empty. This was run against the devicemapper test suite's thin-provisioning suites for delete and suspend and no regressions were observed.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
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存在安全漏洞,该漏洞源于dm thin模块中get_first_thin函数未正确使用RCU安全的列表操作。这可能导致内存访问错误或系统崩溃。
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 b10ebd34cccae1b431caf1be54919aede2be7cbe ~ ec037fe8c0d0f6140e3d8a49c7b29cb5582160b8 -
Linux Linux 3.15 -

II. Public POCs for CVE-2025-21664

# 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-21664

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

Patches & Fixes for CVE-2025-21664 (7)

Same Patch Batch · Linux · 2025-01-21 · 25 CVEs total

CVE-2025-21663 10.0 CRITICAL net: stmmac: dwmac-tegra: Read iommu stream id from device tree
CVE-2024-57932 9.8 CRITICAL gve: guard XDP xmit NDO on existence of xdp queues
CVE-2024-57936 9.8 CRITICAL RDMA/bnxt_re: Fix max SGEs for the Work Request
CVE-2025-21659 8.1 HIGH netdev: prevent accessing NAPI instances from another namespace
CVE-2025-21661 7.8 HIGH gpio: virtuser: fix missing lookup table cleanups
CVE-2024-57945 7.8 HIGH riscv: mm: Fix the out of bound issue of vmemmap address
CVE-2024-57943 exfat: fix the new buffer was not zeroed before writing
CVE-2024-57946 virtio-blk: don't keep queue frozen during system suspend
CVE-2025-21662 net/mlx5: Fix variable not being completed when function returns
CVE-2025-21660 ksmbd: fix unexpectedly changed path in ksmbd_vfs_kern_path_locked
CVE-2025-21658 btrfs: avoid NULL pointer dereference if no valid extent tree
CVE-2025-21657 sched_ext: Replace rq_lock() to raw_spin_rq_lock() in scx_ops_bypass()
CVE-2025-21656 hwmon: (drivetemp) Fix driver producing garbage data when SCSI errors occur
CVE-2024-57944 iio: adc: ti-ads1298: Add NULL check in ads1298_init
CVE-2024-57930 tracing: Have process_string() also allow arrays
CVE-2024-57942 netfs: Fix ceph copy to cache on write-begin
CVE-2024-57941 netfs: Fix the (non-)cancellation of copy when cache is temporarily disabled
CVE-2024-57940 exfat: fix the infinite loop in exfat_readdir()
CVE-2024-57939 riscv: Fix sleeping in invalid context in die()
CVE-2024-57938 net/sctp: Prevent autoclose integer overflow in sctp_association_init()

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-21664

No comments yet


Leave a comment