{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-53265","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-06-09T07:44:35.395Z","datePublished":"2026-06-25T08:39:52.543Z","dateUpdated":"2026-08-05T12:34:42.297Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:34:42.297Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndm cache policy smq: check allocation under invalidate lock\n\ncommit 2d1f7b65f5de (\"dm cache policy smq: fix missing locks in\ninvalidating cache blocks\") added mq->lock around the destructive part of\nsmq_invalidate_mapping(), but left the e->allocated check outside the\ncritical section.\n\nThat leaves a check-then-act race. Two concurrent invalidators can both\nobserve e->allocated as true before either of them takes mq->lock. The\nfirst invalidator that acquires the lock removes the entry from the\nqueues and hash table and then calls free_entry(), which clears\ne->allocated and puts the entry back on the free list. The second\ninvalidator can then acquire mq->lock and continue with the stale result\nof the unlocked check.\n\nThis can corrupt the SMQ queues or hash table by deleting an entry that\nis no longer on those structures. It can also hit the allocation check in\nfree_entry() when the same entry is freed again.\n\nMove the allocation check under mq->lock so the predicate and the\ndestructive operations are serialized by the same lock."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable code is reached locally through device-mapper cache invalidation, via DM target messages or writes to an already configured passthrough dm-cache device. There is no network, adjacent, or physical packet/device path.\nAC:L - The race is between concurrent invalidators, and an attacker who can issue concurrent writes or invalidation requests can create that concurrency. When uncertain, the attacker-controlled race is scored as low complexity.\nPR:L - DM control ioctls require init-namespace CAP_SYS_ADMIN, but a plausible deployment lets a low-privileged local user generate passthrough cache writes through a mounted or otherwise writable dm-cache-backed device. User namespaces do not bypass the DM ioctl gate.\nUI:N - No victim action is required after the vulnerable dm-cache device is present; the attacker triggers invalidation with local I/O or messages. The race does not depend on another user opening a file or approving an action.\nS:U - The impact remains within the same kernel/storage security authority. This is not a VM escape, IOMMU bypass, or cross-authority boundary violation.\nC:H - The stale invalidation can corrupt SMQ queue/hash policy state, potentially misdirecting cached block mappings and exposing data from other blocks. As kernel memory/data-structure corruption, confidentiality impact is scored high when uncertain.\nI:H - The bug can delete/free an entry twice and corrupt SMQ queues or hash tables before hitting the allocation check. That can corrupt cache mapping state and kernel data structures, so integrity impact is high.\nA:H - The second free can hit BUG_ON(!e->allocated), causing a kernel oops/panic. Even without the BUG_ON path, corrupted cache policy structures can destabilize the kernel, so availability impact is high."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/md/dm-cache-policy-smq.c"],"versions":[{"version":"4991b5a08751e2e82488fb93ae08849b6aea10d9","lessThan":"c242c7af2aecf0b538b8623bdb86b8b441da38d9","status":"affected","versionType":"git"},{"version":"1b2bec4a7dcf5f00b7a1cbeeec8997841d783513","lessThan":"13da856c86fb8c2ccab95034fd77da1bb2c2a17c","status":"affected","versionType":"git"},{"version":"9a5fdfb9e57ec3a8ad2b8fce5e5ffa42d53b130e","lessThan":"d886945fcb0f8c9dc6b39928d7a96c95c587346c","status":"affected","versionType":"git"},{"version":"ac5ee99443891bdb161f5539606a66a1b5e72542","lessThan":"b4892561552d671bd8c4da5ebb70e9fbb1ec446e","status":"affected","versionType":"git"},{"version":"93627a29d4b66d4a2def938dfb8610cc80ae454b","lessThan":"03ffe1112ed88bb3a9bd0b971549bf4d64bfc59a","status":"affected","versionType":"git"},{"version":"c348ae47d8e65f06429fa41adce9ad986b696766","lessThan":"42ff6774ecd9d7f70d599cb71ff64373a1da4948","status":"affected","versionType":"git"},{"version":"2b62d0611c9af14a16bddf22df2612b4f40eb5a1","lessThan":"c57570fba24016ec25ec046ab44db39143fb7a64","status":"affected","versionType":"git"},{"version":"2d1f7b65f5deedd2e6b09fdc6ea27f8375f24b45","lessThan":"d3f0a606b9f278ece8a0df626ded9c4044071235","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/md/dm-cache-policy-smq.c"],"versions":[{"version":"5.10.258","lessThan":"5.10.259","status":"affected","versionType":"semver"},{"version":"5.15.209","lessThan":"5.15.210","status":"affected","versionType":"semver"},{"version":"6.1.175","lessThan":"6.1.176","status":"affected","versionType":"semver"},{"version":"6.6.141","lessThan":"6.6.143","status":"affected","versionType":"semver"},{"version":"6.12.91","lessThan":"6.12.94","status":"affected","versionType":"semver"},{"version":"6.18.33","lessThan":"6.18.36","status":"affected","versionType":"semver"},{"version":"7.0.10","lessThan":"7.0.13","status":"affected","versionType":"semver"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.258","versionEndExcluding":"5.10.259"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.209","versionEndExcluding":"5.15.210"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.175","versionEndExcluding":"6.1.176"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.141","versionEndExcluding":"6.6.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.91","versionEndExcluding":"6.12.94"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18.33","versionEndExcluding":"6.18.36"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.0.10","versionEndExcluding":"7.0.13"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/c242c7af2aecf0b538b8623bdb86b8b441da38d9"},{"url":"https://git.kernel.org/stable/c/13da856c86fb8c2ccab95034fd77da1bb2c2a17c"},{"url":"https://git.kernel.org/stable/c/d886945fcb0f8c9dc6b39928d7a96c95c587346c"},{"url":"https://git.kernel.org/stable/c/b4892561552d671bd8c4da5ebb70e9fbb1ec446e"},{"url":"https://git.kernel.org/stable/c/03ffe1112ed88bb3a9bd0b971549bf4d64bfc59a"},{"url":"https://git.kernel.org/stable/c/42ff6774ecd9d7f70d599cb71ff64373a1da4948"},{"url":"https://git.kernel.org/stable/c/c57570fba24016ec25ec046ab44db39143fb7a64"},{"url":"https://git.kernel.org/stable/c/d3f0a606b9f278ece8a0df626ded9c4044071235"}],"title":"dm cache policy smq: check allocation under invalidate lock","x_generator":{"engine":"bippy-1.2.0"}}}}