{"id":"CVE-2026-53062","title":"dm cache policy smq: fix missing locks in invalidating cache blocks","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\ndm cache policy smq: fix missing locks in invalidating cache blocks\n\nIn passthrough mode, the policy invalidate_mapping operation is called\nsimultaneously from multiple…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","cwe":["CWE-414"],"vendor":"Linux","product":"Linux","affected":["Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 4991b5a08751e2e82488fb93ae08849b6aea10d9","Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 1b2bec4a7dcf5f00b7a1cbeeec8997841d783513","Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 9a5fdfb9e57ec3a8ad2b8fce5e5ffa42d53b130e","Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < ac5ee99443891bdb161f5539606a66a1b5e72542","Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 93627a29d4b66d4a2def938dfb8610cc80ae454b","Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < c348ae47d8e65f06429fa41adce9ad986b696766","Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 2b62d0611c9af14a16bddf22df2612b4f40eb5a1","Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 2d1f7b65f5deedd2e6b09fdc6ea27f8375f24b45","Linux 4.12"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-16T15:24:58.631300Z"},"published":"2026-06-24","updated":"2026-10-19","sourceUpdated":"2026-10-19T19:47:14.719Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-53062","references":[{"url":"https://git.kernel.org/stable/c/4991b5a08751e2e82488fb93ae08849b6aea10d9"},{"url":"https://git.kernel.org/stable/c/1b2bec4a7dcf5f00b7a1cbeeec8997841d783513"},{"url":"https://git.kernel.org/stable/c/9a5fdfb9e57ec3a8ad2b8fce5e5ffa42d53b130e"},{"url":"https://git.kernel.org/stable/c/ac5ee99443891bdb161f5539606a66a1b5e72542"},{"url":"https://git.kernel.org/stable/c/93627a29d4b66d4a2def938dfb8610cc80ae454b"},{"url":"https://git.kernel.org/stable/c/c348ae47d8e65f06429fa41adce9ad986b696766"},{"url":"https://git.kernel.org/stable/c/2b62d0611c9af14a16bddf22df2612b4f40eb5a1"},{"url":"https://git.kernel.org/stable/c/2d1f7b65f5deedd2e6b09fdc6ea27f8375f24b45"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53062.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-53062"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2492278"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-53062"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53062"},{"url":"https://lore.kernel.org/linux-cve-announce/2026062402-CVE-2026-53062-a727@gregkh/T"},{"url":"https://access.redhat.com/errata/RHSA-2026:70498"},{"url":"https://access.redhat.com/errata/RHSA-2026:70459"},{"url":"https://access.redhat.com/errata/RHSA-2026:70402"},{"url":"https://access.redhat.com/errata/RHSA-2026:77216"},{"url":"https://access.redhat.com/errata/RHSA-2026:84793"},{"url":"https://access.redhat.com/errata/RHSA-2026:70403"}],"tags":["cve.org","csaf","vex","red-hat"],"epss":0.00097,"epssPercentile":0.00731,"patched":["enterprise_linux_appstream_v_10","enterprise_linux_appstream_v_9","enterprise_linux_baseos_v_10","enterprise_linux_baseos_v_8","enterprise_linux_baseos_aus_v_8_6","enterprise_linux_baseos_eus_extension_v_8_6","enterprise_linux_baseos_e4s_v_8_8","enterprise_linux_baseos_tus_v_8_8","enterprise_linux_baseos_v_9","enterprise_linux_codeready_linux_builder_v_10","enterprise_linux_crb_v_8","enterprise_linux_codeready_linux_builder_v_9","enterprise_linux_real_time_for_nfv_v_10","enterprise_linux_nfv_v_8","enterprise_linux_real_time_for_nfv_v_9","enterprise_linux_real_time_v_10","enterprise_linux_rt_v_8","enterprise_linux_real_time_v_9"],"scores":{"cna":7.8,"vendor":7},"ingestedAt":"2026-10-16T17:24:46.728Z","slug":"CVE-2026-53062","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\ndm cache policy smq: fix missing locks in invalidating cache blocks\n\nIn passthrough mode, the policy invalidate_mapping operation is called\nsimultaneously from multiple workers, thus it should be protected by a\nlock. Otherwise, we might end up with data races on the allocated blocks\ncounter, or even use-after-free issues with internal data structures\nwhen doing concurrent writes.\n\nNote that the existing FIXME in smq_invalidate_mapping() doesn't affect\npassthrough mode since migration tasks don't exist there, but would need\nattention if supporting fast device shrinking via suspend/resume without\ntarget reloading.\n\nReproduce steps:\n\n1. Create a cache device consisting of 1024 cache entries\n\ndmsetup create cmeta --table \"0 8192 linear /dev/sdc 0\"\ndmsetup create cdata --table \"0 131072 linear /dev/sdc 8192\"\ndmsetup create corig --table \"0 262144 linear /dev/sdc 262144\"\ndd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct\ndmsetup create cache --table \"0 262144 cache /dev/mapper/cmeta \\\n/dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0\"\n\n2. Populate the cache, and record the number of cached blocks\n\nfio --name=populate --filename=/dev/mapper/cache --rw=randwrite --bs=4k \\\n--size=64m --direct=1\nnr_cached=$(dmsetup status cache | awk '{split($7, a, \"/\"); print a[1]}')\n\n3. Reload the cache into passthrough mode\n\ndmsetup suspend cache\ndmsetup reload cache --table \"0 262144 cache /dev/mapper/cmeta \\\n/dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 passthrough smq 0\"\ndmsetup resume cache\n\n4. Write to the passthrough cache. By setting multiple jobs with I/O\n   size equal to the cache block size, cache blocks are invalidated\n   concurrently from different workers.\n\nfio --filename=/dev/mapper/cache --name=test --rw=randwrite --bs=64k \\\n--direct=1 --numjobs=2 --randrepeat=0 --size=64m\n\n5. Check if demoted matches cached block count. These numbers should\n   match but may differ due to the data race.\n\nnr_demoted=$(dmsetup status cache | awk '{print $12}')\necho \"$nr_cached, $nr_demoted\"\n\n## Affected\n\n- `Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 4991b5a08751e2e82488fb93ae08849b6aea10d9`\n- `Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 1b2bec4a7dcf5f00b7a1cbeeec8997841d783513`\n- `Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 9a5fdfb9e57ec3a8ad2b8fce5e5ffa42d53b130e`\n- `Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < ac5ee99443891bdb161f5539606a66a1b5e72542`\n- `Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 93627a29d4b66d4a2def938dfb8610cc80ae454b`\n- `Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < c348ae47d8e65f06429fa41adce9ad986b696766`\n- `Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 2b62d0611c9af14a16bddf22df2612b4f40eb5a1`\n- `Linux >= b29d4986d0da1a27cd35917cdb433672f5c95d7f < 2d1f7b65f5deedd2e6b09fdc6ea27f8375f24b45`\n- `Linux 4.12`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Vendor advisories\n\n- **RHSA-2026:70498** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 10), Red Hat Enterprise Linux BaseOS (v. 10), Red Hat Enterprise Linux CodeReady Linux Builder (v. 10), Red Hat Enterprise Linux Real Time for NFV (v. 10), Red Hat Enterprise Linux Real Time (v. 10) · released 2026-09-23 · [advisory](https://access.redhat.com/errata/RHSA-2026:70498)\n- **RHSA-2026:70459** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 9), Red Hat Enterprise Linux BaseOS (v. 9), Red Hat Enterprise Linux CodeReady Linux Builder (v. 9), Red Hat Enterprise Linux Real Time for NFV (v. 9), Red Hat Enterprise Linux Real Time (v. 9) · released 2026-09-23 · [advisory](https://access.redhat.com/errata/RHSA-2026:70459)\n- **RHSA-2026:70402** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS (v. 8), Red Hat Enterprise Linux CRB (v. 8) · released 2026-09-22 · [advisory](https://access.redhat.com/errata/RHSA-2026:70402)\n- **RHSA-2026:77216** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS AUS (v.8.6), Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.6) · released 2026-10-07 · [advisory](https://access.redhat.com/errata/RHSA-2026:77216)\n- **RHSA-2026:84793** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS E4S (v.8.8), Red Hat Enterprise Linux BaseOS TUS (v.8.8) · released 2026-10-19 · [advisory](https://access.redhat.com/errata/RHSA-2026:84793)\n- **RHSA-2026:70403** · Red Hat · fixed in: Red Hat Enterprise Linux NFV (v. 8), Red Hat Enterprise Linux RT (v. 8) · released 2026-09-22 · [advisory](https://access.redhat.com/errata/RHSA-2026:70403)\n- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9 · no fix planned: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9 · updated 2026-10-19 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53062.json)","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[{"seq":225219,"id":"CVE-2026-53062","ts":1792442581935,"field":"cvss","old":"7","new":"7.8"},{"seq":224874,"id":"CVE-2026-53062","ts":1792411615939,"field":"cvss","old":"7.8","new":"7"}]}