5.5
MEDIUM CVSS 3.1
CVE-2026-53060
dm cache metadata: fix memory leak on metadata abort retry
Description

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>

INFO

Published Date :

June 24, 2026, 5:17 p.m.

Last Modified :

July 21, 2026, 5:35 p.m.

Remotely Exploit :

No

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-53060 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Linux linux_kernel
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 3.1 MEDIUM [email protected]
Solution
The Linux kernel has a memory leak in dm cache metadata. Apply updates.
  • Update the Linux kernel to a version with the fix.
  • Verify the fix is applied to the system.
  • Monitor system memory usage for improvements.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-53060 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-53060 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-53060 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-53060 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • Initial Analysis by [email protected]

    Jul. 21, 2026

    Action Type Old Value New Value
    Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
    Added CWE CWE-401
    Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.4.229 up to (excluding) 5.5 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.14.303 up to (excluding) 4.15 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.19.270 up to (excluding) 4.20 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.9.337 up to (excluding) 4.10 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.0.18 up to (excluding) 6.1 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.141 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.12.91 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.33 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.19 up to (excluding) 7.0.10 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.10.163 up to (excluding) 5.10.258 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.15.87 up to (excluding) 5.15.209 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.1.4 up to (excluding) 6.1.175
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/044ca491d4086dc5bf233e9fcb71db52df32f633 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/14f60e957f34f95a626caec76a8fae88cf4c397f Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/15c30997dca681f90dbf2d45ee629c1828bf0c0d Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/322a3b70368d49e39591fe9fc6c07d262128b05f Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/4311ca59a1891d33c4c8b7946f98c34f167fe833 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/6b97cc7a42905755c56bbddc33aa8b792205caee Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/b0bd35535bdb6f58505f3a30ee5793986943997a Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/d1a79620c419a0af1911f99c873014b30740e303 Types: Patch
  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jun. 24, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'b45e77b79215405bd039a690f5b06cc03e8ed27d', 'lessThan': '14f60e957f34f95a626caec76a8fae88cf4c397f', 'versionType': 'git'}, {'status': 'affected', 'version': '28d307f380df88a598bc0186d527462902d9bda1', 'lessThan': '6b97cc7a42905755c56bbddc33aa8b792205caee', 'versionType': 'git'}, {'status': 'affected', 'version': 'f74b7c5a85e22cd9091845e0d62a1dd89d0f855f', 'lessThan': 'd1a79620c419a0af1911f99c873014b30740e303', 'versionType': 'git'}, {'status': 'affected', 'version': '352b837a5541690d4f843819028cf2b8be83d424', 'lessThan': '15c30997dca681f90dbf2d45ee629c1828bf0c0d', 'versionType': 'git'}, {'status': 'affected', 'version': '352b837a5541690d4f843819028cf2b8be83d424', 'lessThan': 'b0bd35535bdb6f58505f3a30ee5793986943997a', 'versionType': 'git'}, {'status': 'affected', 'version': '352b837a5541690d4f843819028cf2b8be83d424', 'lessThan': '322a3b70368d49e39591fe9fc6c07d262128b05f', 'versionType': 'git'}, {'status': 'affected', 'version': '352b837a5541690d4f843819028cf2b8be83d424', 'lessThan': '4311ca59a1891d33c4c8b7946f98c34f167fe833', 'versionType': 'git'}, {'status': 'affected', 'version': '352b837a5541690d4f843819028cf2b8be83d424', 'lessThan': '044ca491d4086dc5bf233e9fcb71db52df32f633', 'versionType': 'git'}, {'status': 'affected', 'version': '6e237cacda8b4e976849e7bff9fe7dff0e968586', 'versionType': 'git'}, {'status': 'affected', 'version': '3972ae47d0ee9b5b434af5d0cca6cdfd1e239d4f', 'versionType': 'git'}, {'status': 'affected', 'version': '9958f5ffc44530b650fb4cc9038a4d167fa4f5c1', 'versionType': 'git'}, {'status': 'affected', 'version': 'f472bfc95d9c9653172dbdad39219b32fabf9b92', 'versionType': 'git'}, {'status': 'affected', 'version': 'bdd4e106929ac943f3226d8f03754b480701e97b', 'versionType': 'git'}, {'status': 'affected', 'version': '5.10.163', 'lessThan': '5.10.258', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.15.87', 'lessThan': '5.15.209', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.1.4', 'lessThan': '6.1.175', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.9.337', 'lessThan': '4.10', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.14.303', 'lessThan': '4.15', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.19.270', 'lessThan': '4.20', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.4.229', 'lessThan': '5.5', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.0.18', 'lessThan': '6.1', 'versionType': 'semver'}], 'programFiles': ['drivers/md/dm-cache-metadata.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '6.2'}, {'status': 'unaffected', 'version': '0', 'lessThan': '6.2', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.258', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.209', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.175', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.141', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.91', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.33', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.10', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/md/dm-cache-metadata.c'], 'defaultStatus': 'affected'}]
    Added Description 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>
    Added Reference https://git.kernel.org/stable/c/044ca491d4086dc5bf233e9fcb71db52df32f633
    Added Reference https://git.kernel.org/stable/c/14f60e957f34f95a626caec76a8fae88cf4c397f
    Added Reference https://git.kernel.org/stable/c/15c30997dca681f90dbf2d45ee629c1828bf0c0d
    Added Reference https://git.kernel.org/stable/c/322a3b70368d49e39591fe9fc6c07d262128b05f
    Added Reference https://git.kernel.org/stable/c/4311ca59a1891d33c4c8b7946f98c34f167fe833
    Added Reference https://git.kernel.org/stable/c/6b97cc7a42905755c56bbddc33aa8b792205caee
    Added Reference https://git.kernel.org/stable/c/b0bd35535bdb6f58505f3a30ee5793986943997a
    Added Reference https://git.kernel.org/stable/c/d1a79620c419a0af1911f99c873014b30740e303
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.