MEDIUM 5.5

CVE-2026-53060: Linux dm-cache Metadata Memory Leak Vulnerability

CVE-2026-53060 is a memory leak in the Linux kernel's device mapper cache subsystem. When the cache metadata system attempts to abort operations while the underlying block manager is in read-only mode, it fails to release a temporary block manager object, causing memory to accumulate. This occurs specifically during certain cache device table reload and resume operations. The leak is triggered by a sequence of suspend/resume cycles combined with metadata I/O errors, which can occur in production environments when cache devices encounter transient or permanent storage faults.

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-401
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 metadata: fix memory leak on metadata abort retry When failing to acquire the root_lock in dm_cache_metadata_abort because the block_manager is read-only, the temporary block_manager created outside the root_lock is not properly released, causing a memory leak. Reproduce steps: This can be reproduced by reloading a new table while the metadata is read-only. While the second call to dm_cache_metadata_abort is caused by lack of support for table preload in dm-cache, mentioned in commit 9b1cc9f251af ("dm cache: share cache-metadata object across inactive and active DM tables"), it exposes the memory leak in dm_cache_metadata_abort when the function is called multiple times. Specifically, dm-cache fails to sync the new cache object's mode during preresume, creating the reproducer condition. This issue could also occur through concurrent metadata_operation_failed calls due to races in cache mode updates, but the table preload scenario below provides a reliable reproducer. 1. Create a cache device with some faulty trailing metadata blocks dmsetup create cmeta <<EOF 0 200 linear /dev/sdc 0 200 7992 error EOF 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 131072 cache /dev/mapper/cmeta \ /dev/mapper/cdata /dev/mapper/corig 128 1 writethrough smq 0" 2. Suspend and resume the cache to start a new metadata transaction and trigger metadata io errors on the next metadata commit. dmsetup suspend cache dmsetup resume cache 3. Write to the cache device to update metadata fio --filename=/dev/mapper/cache --name test --rw=randwrite --bs=4k \ --randrepeat=0 --direct=1 --size 64k 4. Preload the same table dmsetup reload cache --table "$(dmsetup table cache)" 5. Resume the new table. This triggers the memory leak. dmsetup suspend cache dmsetup resume cache kmemleak logs: <snip> unreferenced object 0xffff8880080c2010 (size 16): comm "dmsetup", pid 132, jiffies 4294982580 hex dump (first 16 bytes): 00 38 b9 07 80 88 ff ff 6a 6b 6b 6b 6b 6b 6b a5 ... backtrace (crc 3118f31c): kmemleak_alloc+0x28/0x40 __kmalloc_cache_noprof+0x3d9/0x510 dm_block_manager_create+0x51/0x140 dm_cache_metadata_abort+0x85/0x320 metadata_operation_failed+0x103/0x1e0 cache_preresume+0xacd/0xe70 dm_table_resume_targets+0xd3/0x320 __dm_resume+0x1b/0xf0 dm_resume+0x127/0x170 <snip>

8 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability exists in dm_cache_metadata_abort() within the Linux kernel's device mapper cache metadata layer. When the function cannot acquire the root_lock due to a read-only block_manager state, a temporary block_manager object created prior to the lock acquisition attempt is not deallocated. The leak manifests through repeated calls to dm_cache_metadata_abort, particularly when triggered by the cache preresume path during table reloads. The issue is classified as CWE-401 (Missing Release of Memory after Effective Lifetime) and can occur both through the table preload scenario (which lacks dm-cache table preload support as noted in commit 9b1cc9f251af) and through concurrent metadata_operation_failed calls arising from cache mode synchronization races.

Business impact

While individual leaks are small (16 bytes per occurrence in the reported case), repeated cache device reloads or metadata errors can cause gradual memory exhaustion on systems hosting dm-cache volumes. This is particularly concerning for persistent storage arrays, containerized environments with dynamic volume management, or systems running automated cache device recovery procedures. The impact is amplified in scenarios with frequent cache table updates or transient storage errors that trigger repeated metadata abort cycles.

Affected systems

The vulnerability affects Linux kernel systems running device mapper cache (dm-cache) with versions prior to the patch. Affected systems include those using dm-cache for write-through or write-back caching of storage devices, particularly in enterprise storage, virtualization, and container environments. The issue requires local access and the ability to manipulate dm-cache device tables, making it relevant primarily to system administrators and privileged container orchestration systems.

Exploitability

Exploitation requires local system access and the ability to create or reload dm-cache device tables (typically requiring root or CAP_SYS_ADMIN privileges). The vulnerability is not exploitable for privilege escalation or data exfiltration; its impact is strictly denial-of-service through memory exhaustion. An attacker must trigger specific conditions—metadata read-only state combined with table preload or concurrent metadata failures—making opportunistic remote exploitation unlikely. However, the condition can be reliably reproduced through intentional table manipulations, as demonstrated in the CVE description.

Remediation

Apply the Linux kernel patch that fixes dm_cache_metadata_abort to properly release the temporary block_manager object when lock acquisition fails. Verify the patch version against the vendor advisory for your specific kernel distribution. Until patching, mitigate by minimizing cache device table reloads, implementing monitoring for cache metadata errors, and avoiding scenarios where read-only metadata states occur concurrently with table preload operations.

Patch guidance

Obtain and apply the kernel patch addressing the block_manager leak in dm_cache_metadata_abort. Verify patch availability and version numbers directly from your Linux distribution vendor or the upstream kernel project. Standard practices apply: test patches in a non-production environment first, coordinate downtime for kernel updates, and monitor system stability post-patch. Distributions providing kernel updates through standard package management (yum, apt, etc.) should consume fixes through those channels.

Detection guidance

Monitor kernel memory usage patterns on systems running dm-cache, particularly around cache device reload and suspension events. Use kmemleak (CONFIG_DEBUG_KMEMLEAK) in test or development environments to identify the signature leak pattern shown in the CVE (unreferenced 16-byte allocations in dm_block_manager_create called from dm_cache_metadata_abort). In production, track dm-cache device status and metadata error rates using device mapper statistics; repeated metadata failures coupled with growing kernel memory consumption warrant investigation. Audit logs of dmsetup commands can identify table reload operations preceding memory anomalies.

Why prioritize this

Despite a CVSS score of 5.5 (Medium), this vulnerability warrants timely remediation because memory exhaustion is a persistent denial-of-service vector in production storage environments. The leak is deterministic and reproducible, not speculative. Patching is straightforward and carries minimal risk. Systems with high cache device churn, automated storage orchestration, or known transient metadata errors should prioritize patching. The vulnerability is not in the CISA KEV catalog, indicating lower active exploitation, but this reflects its narrow attack surface rather than lack of importance in vulnerable deployments.

Risk score, explained

The CVSS 3.1 score of 5.5 (Medium) reflects availability impact (denial of service through memory exhaustion) with low complexity and low privilege requirements. The score does not account for the operational context of storage systems, where availability directly impacts business continuity. In environments where cache devices are mission-critical, the effective risk is higher. The vulnerability does not enable confidentiality or integrity violations, nor does it allow privilege escalation, tempering the overall severity. The lack of KEV inclusion reflects that this is not currently being weaponized in the wild, but organizations running affected workloads should not use KEV status as a deferral reason.

Frequently asked questions

Does this vulnerability allow remote code execution or privilege escalation?

No. CVE-2026-53060 is strictly a memory leak leading to potential denial-of-service through resource exhaustion. It does not enable code execution, privilege escalation, or data compromise. An attacker with local system access and dm-cache control privileges could trigger the leak intentionally, but the attack surface is narrow and requires administrative-level actions.

Can this memory leak be triggered without manually reloading cache device tables?

The most reliable reproducer involves table preload and reload operations, which are typically manual administrative tasks. However, the vulnerability can also be triggered through concurrent metadata_operation_failed calls arising from legitimate metadata I/O errors during cache operations, making it possible for the leak to occur in production during transient storage faults or error conditions.

Which Linux distributions and kernel versions are affected?

The vulnerability affects Linux kernel systems with dm-cache support across all distributions. Specific affected kernel version ranges depend on your distribution's kernel build. Consult your vendor's security advisory or the upstream kernel project for exact version information and patch availability. Most major distributions (Red Hat, Ubuntu, Debian, SUSE) will provide patched kernels through their standard update channels.

What monitoring and alerting should we implement while we wait for patches?

Monitor kernel memory usage trends on systems running dm-cache, particularly MemAvailable and Slab memory metrics. Set alerts for sustained memory growth concurrent with dm-cache error events. Use dmsetup status and device mapper statistics to track cache metadata errors. Log all dmsetup table reload commands for correlation with memory anomalies. These measures help detect the leak in progress and provide context for prioritizing patching activities.

This analysis is provided for informational purposes and represents the state of CVE-2026-53060 as of the publication date. Memory leak vulnerability severity and business impact vary significantly based on operational context, cache device usage patterns, and availability requirements. Always verify patch availability, version numbers, and compatibility with your specific kernel distribution through official vendor advisories before applying updates. The reproduction steps and technical details provided are summarized from public CVE documentation; consult upstream kernel project resources and distribution vendor advisories for complete technical context. This is not a substitute for professional security assessment or vendor guidance specific to your environment. Source: NVD (public-domain), retrieved 2026-08-01. Analysis generated by SEC.co (claude-haiku-4-5).