CVE-2026-53064: Linux dm-cache Null Pointer Dereference DoS Vulnerability
CVE-2026-53064 is a null pointer dereference flaw in the Linux kernel's dm-cache subsystem that occurs when the cache device is operating in passthrough mode and concurrent writes target the same cached block during cache invalidation. When the bio prison cell lock acquisition fails due to contention, the code attempts to unlock a cell that was never successfully locked, resulting in a kernel crash. This is a local denial-of-service vulnerability requiring local system access and can be triggered through concurrent I/O operations.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- CWE-476
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-07-21
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: dm cache: fix null-deref with concurrent writes in passthrough mode In passthrough mode, when dm-cache starts to invalidate a cache entry and bio prison cell lock fails due to concurrent write to the same cached block, mg->cell remains NULL. The error path in invalidate_complete() attempts to unlock and free the cell unconditionally, causing a NULL pointer dereference: KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] CPU: 0 UID: 0 PID: 134 Comm: fio Not tainted 6.19.0-rc7 #3 PREEMPT RIP: 0010:dm_cell_unlock_v2+0x3f/0x210 <snip> Call Trace: invalidate_complete+0xef/0x430 map_bio+0x130f/0x1a10 cache_map+0x320/0x6b0 __map_bio+0x458/0x510 dm_submit_bio+0x40e/0x16d0 __submit_bio+0x419/0x870 <snip> Reproduce steps: 1. Create a cache device dmsetup create cmeta --table "0 8192 linear /dev/sdc 0" dmsetup create cdata --table "0 131072 linear /dev/sdc 8192" dmsetup create corig --table "0 262144 linear /dev/sdc 262144" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct dmsetup create cache --table "0 262144 cache /dev/mapper/cmeta \ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0" 2. Promote the first data block into cache fio --filename=/dev/mapper/cache --name=populate --rw=write --bs=4k \ --direct=1 --size=64k 3. Reload the cache into passthrough mode dmsetup suspend cache dmsetup reload cache --table "0 262144 cache /dev/mapper/cmeta \ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 passthrough smq 0" dmsetup resume cache 4. Write to the first cached block concurrently fio --filename=/dev/mapper/cache --name test --rw=randwrite --bs=4k \ --randrepeat=0 --direct=1 --numjobs=2 --size 64k Fix by checking if mg->cell is valid before attempting to unlock it.
8 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exists in the dm-cache invalidation path when operating in passthrough mode. During cache entry invalidation, if the bio prison cell lock acquisition fails due to concurrent writes to the same block, the mg->cell pointer remains uninitialized (NULL). The error-handling path in invalidate_complete() unconditionally attempts to unlock and free this cell via dm_cell_unlock_v2(), triggering a null pointer dereference. The issue is caused by insufficient null-pointer validation before the unlock operation. The fix involves checking the validity of mg->cell before attempting to unlock it in the error path.
Business impact
This vulnerability can be exploited by local users to crash the Linux kernel, causing system downtime and service interruption. Organizations running dm-cache in passthrough mode with workloads involving concurrent writes to the same cached blocks face increased risk of unexpected system failures. This is particularly relevant for storage administrators using Linux device mapper for cache tiering or hybrid storage configurations.
Affected systems
The Linux kernel is affected. The vulnerability occurs specifically in passthrough mode of the dm-cache subsystem, which is part of the Linux device mapper infrastructure. Affected systems include any Linux distribution running a vulnerable kernel version where dm-cache is compiled and in use. The issue requires local system access and relies on specific I/O patterns to trigger.
Exploitability
Exploitability requires local system access (privilege level: local user) with the ability to issue direct I/O operations to a dm-cache device configured in passthrough mode. The vulnerability is triggered by concurrent writes to the same cached block, which can be reliably reproduced using standard Linux I/O tools like fio. No special authentication or complex conditions are required beyond the ability to write to the cache device. An attacker with local access can reliably crash the system.
Remediation
The fix involves adding a null-pointer check for mg->cell before calling dm_cell_unlock_v2() in the invalidate_complete() error path. This ensures that unlock operations only proceed on valid cell pointers. Verify the availability of patched kernel versions from your Linux distribution vendor and apply updates through your standard kernel patching process. Test the patch in a non-production environment before rolling out to production systems running dm-cache.
Patch guidance
Apply the latest kernel update from your Linux distribution vendor that includes the fix for CVE-2026-53064. The patch should add a validity check before the dm_cell_unlock_v2() call in the invalidate_complete() function within the dm-cache code. Verify against your vendor's advisory for specific kernel versions and release notes confirming the fix. On most distributions, this will be available through standard package management (apt, yum, etc.). Reboot systems after applying the patch to ensure the updated kernel is in use.
Detection guidance
Monitor system logs for kernel panic messages containing 'null-ptr-deref' and stack traces referencing dm_cell_unlock_v2() or invalidate_complete(). KASAN (Kernel Address Sanitizer) builds will report null pointer dereferences in this code path. Use syslog monitoring tools to detect unexpected kernel crashes on systems running dm-cache. Workload profiling tools can identify I/O patterns involving concurrent writes to the same cache blocks, which are necessary to trigger this vulnerability. Check kernel version and verify whether dm-cache is loaded and in use via /proc/modules or modprobe.
Why prioritize this
This vulnerability merits timely remediation due to its ease of exploitation for local denial-of-service attacks. While the CVSS score of 5.5 reflects medium severity (local-only access, no data compromise), the simplicity of triggering the crash and the potential for coordinated repeated attacks make it a reliability risk. Organizations using dm-cache in passthrough mode should prioritize patching to maintain system stability and availability. The vulnerability is not presently on the CISA KEV catalog, but this does not diminish the importance of remediation for affected workloads.
Risk score, explained
CVE-2026-53064 receives a CVSS v3.1 score of 5.5 (MEDIUM) with vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H. This reflects: local attack vector (AV:L) limiting exposure to authenticated local users; low attack complexity (AC:L) as concurrent I/O is easily reproducible; low privilege requirement (PR:L) requiring basic system access; no user interaction (UI:N); single security domain impact (S:U); and high availability impact (A:H) from kernel crash. The score appropriately captures the high availability risk balanced against the local-only attack surface.
Frequently asked questions
Does this vulnerability affect systems not using dm-cache?
No. This vulnerability is specific to the dm-cache subsystem in the Linux kernel's device mapper framework. Systems that do not have dm-cache configured or compiled will not be affected.
What specific conditions must be present to trigger this crash?
The dm-cache device must be in passthrough mode, and concurrent write I/O operations must target the same cached block simultaneously. This can occur naturally in multi-threaded or multi-process I/O workloads but requires local system access to initiate.
Is there a workaround if I cannot apply the kernel patch immediately?
The most reliable workaround is to avoid concurrent writes to the same cached blocks or temporarily disable dm-cache and use direct storage access. However, patching is the recommended long-term solution as workarounds may impact performance and functionality.
Can this vulnerability be exploited remotely?
No. This vulnerability requires local system access and the ability to issue direct I/O commands to a dm-cache device. Remote exploitation is not possible.
This analysis is provided for informational purposes and does not constitute legal or professional security advice. Organizations should conduct independent risk assessments and testing in accordance with their policies and applicable regulations. SEC.co makes no warranties regarding the accuracy of third-party vendor data, patch availability timelines, or the completeness of detection methods. Always verify vulnerability details, affected versions, and patch information against official vendor advisories before deploying remediations. Testing should be performed in non-production environments before production deployment. Source: NVD (public-domain), retrieved 2026-08-01. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2025-71313MEDIUMLinux Kernel PCI Endpoint NULL Pointer Dereference
- CVE-2026-46118MEDIUMLinux Kernel PAPR Hypervisor Pipe Null Pointer Dereference (POWER Systems)
- CVE-2026-46127MEDIUMLinux Kernel OCRDMA Null Pointer Dereference (DoS)
- CVE-2026-46134MEDIUMLinux Kernel cros_ec Mutex Initialization DoS Vulnerability
- CVE-2026-46188MEDIUMLinux Octeon EP VF NULL Pointer Dereference Denial of Service
- CVE-2026-46211MEDIUMLinux Kernel MSM DRM NULL Pointer and Silent Error in gem_info_get_metadata
- CVE-2026-46216MEDIUMLinux Intel Arc GPU NULL Pointer Dereference (HDCP)
- CVE-2026-46222MEDIUMLinux Rockchip RKCam Driver Null Pointer Dereference