CVE-2026-53265
Received Received - Intake
Race Condition in Linux Kernel dm-cache SMQ Policy

Publication date: 2026-06-25

Last updated on: 2026-06-25

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: dm cache policy smq: check allocation under invalidate lock commit 2d1f7b65f5de ("dm cache policy smq: fix missing locks in invalidating cache blocks") added mq->lock around the destructive part of smq_invalidate_mapping(), but left the e->allocated check outside the critical section. That leaves a check-then-act race. Two concurrent invalidators can both observe e->allocated as true before either of them takes mq->lock. The first invalidator that acquires the lock removes the entry from the queues and hash table and then calls free_entry(), which clears e->allocated and puts the entry back on the free list. The second invalidator can then acquire mq->lock and continue with the stale result of the unlocked check. This can corrupt the SMQ queues or hash table by deleting an entry that is no longer on those structures. It can also hit the allocation check in free_entry() when the same entry is freed again. Move the allocation check under mq->lock so the predicate and the destructive operations are serialized by the same lock.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-25
Last Modified
2026-06-25
Generated
2026-06-25
AI Q&A
2026-06-25
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability exists in the Linux kernel's device mapper cache policy called smq. It involves a race condition due to a missing lock around a critical check in the cache invalidation process.

Specifically, two concurrent invalidators can both see that a cache entry is allocated before either acquires the necessary lock. The first invalidator removes the entry and frees it, but the second invalidator then proceeds based on stale information, potentially corrupting internal data structures like queues or hash tables.

The fix was to move the allocation check inside the lock to ensure that the check and the destructive operations are properly serialized, preventing this race condition.

Impact Analysis

This vulnerability can lead to corruption of the SMQ queues or hash table within the Linux kernel's device mapper cache policy.

Such corruption may cause instability or crashes in the kernel's caching mechanism, potentially affecting system reliability and performance.

Additionally, it can cause double freeing of cache entries, which might lead to memory corruption or other unpredictable behavior.

Mitigation Strategies

The vulnerability is resolved by moving the allocation check under the mq->lock to ensure proper serialization of the predicate and destructive operations.

To mitigate this vulnerability, you should update your Linux kernel to a version that includes the fix for this issue, specifically the commit 2d1f7b65f5de which addresses the missing locks in invalidating cache blocks.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-53265. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart