CVE-2026-53265 (GCVE-0-2026-53265)
Vulnerability from cvelistv5 – Published: 2026-06-25 08:39 – Updated: 2026-06-25 08:39
VLAI
Title
dm cache policy smq: check allocation under invalidate lock
Summary
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.
Severity
No CVSS data available.
Assigner
References
8 references
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
4991b5a08751e2e82488fb93ae08849b6aea10d9 , < c242c7af2aecf0b538b8623bdb86b8b441da38d9
(git)
Affected: 1b2bec4a7dcf5f00b7a1cbeeec8997841d783513 , < 13da856c86fb8c2ccab95034fd77da1bb2c2a17c (git) Affected: 9a5fdfb9e57ec3a8ad2b8fce5e5ffa42d53b130e , < d886945fcb0f8c9dc6b39928d7a96c95c587346c (git) Affected: ac5ee99443891bdb161f5539606a66a1b5e72542 , < b4892561552d671bd8c4da5ebb70e9fbb1ec446e (git) Affected: 93627a29d4b66d4a2def938dfb8610cc80ae454b , < 03ffe1112ed88bb3a9bd0b971549bf4d64bfc59a (git) Affected: c348ae47d8e65f06429fa41adce9ad986b696766 , < 42ff6774ecd9d7f70d599cb71ff64373a1da4948 (git) Affected: 2b62d0611c9af14a16bddf22df2612b4f40eb5a1 , < c57570fba24016ec25ec046ab44db39143fb7a64 (git) Affected: 2d1f7b65f5deedd2e6b09fdc6ea27f8375f24b45 , < d3f0a606b9f278ece8a0df626ded9c4044071235 (git) |
|
| Linux | Linux |
Affected:
5.10.258 , < 5.10.259
(semver)
Affected: 5.15.209 , < 5.15.210 (semver) Affected: 6.1.175 , < 6.1.176 (semver) Affected: 6.6.141 , < 6.6.143 (semver) Affected: 6.12.91 , < 6.12.94 (semver) Affected: 6.18.33 , < 6.18.36 (semver) Affected: 7.0.10 , < 7.0.13 (semver) |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/md/dm-cache-policy-smq.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "c242c7af2aecf0b538b8623bdb86b8b441da38d9",
"status": "affected",
"version": "4991b5a08751e2e82488fb93ae08849b6aea10d9",
"versionType": "git"
},
{
"lessThan": "13da856c86fb8c2ccab95034fd77da1bb2c2a17c",
"status": "affected",
"version": "1b2bec4a7dcf5f00b7a1cbeeec8997841d783513",
"versionType": "git"
},
{
"lessThan": "d886945fcb0f8c9dc6b39928d7a96c95c587346c",
"status": "affected",
"version": "9a5fdfb9e57ec3a8ad2b8fce5e5ffa42d53b130e",
"versionType": "git"
},
{
"lessThan": "b4892561552d671bd8c4da5ebb70e9fbb1ec446e",
"status": "affected",
"version": "ac5ee99443891bdb161f5539606a66a1b5e72542",
"versionType": "git"
},
{
"lessThan": "03ffe1112ed88bb3a9bd0b971549bf4d64bfc59a",
"status": "affected",
"version": "93627a29d4b66d4a2def938dfb8610cc80ae454b",
"versionType": "git"
},
{
"lessThan": "42ff6774ecd9d7f70d599cb71ff64373a1da4948",
"status": "affected",
"version": "c348ae47d8e65f06429fa41adce9ad986b696766",
"versionType": "git"
},
{
"lessThan": "c57570fba24016ec25ec046ab44db39143fb7a64",
"status": "affected",
"version": "2b62d0611c9af14a16bddf22df2612b4f40eb5a1",
"versionType": "git"
},
{
"lessThan": "d3f0a606b9f278ece8a0df626ded9c4044071235",
"status": "affected",
"version": "2d1f7b65f5deedd2e6b09fdc6ea27f8375f24b45",
"versionType": "git"
}
]
},
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/md/dm-cache-policy-smq.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "5.10.259",
"status": "affected",
"version": "5.10.258",
"versionType": "semver"
},
{
"lessThan": "5.15.210",
"status": "affected",
"version": "5.15.209",
"versionType": "semver"
},
{
"lessThan": "6.1.176",
"status": "affected",
"version": "6.1.175",
"versionType": "semver"
},
{
"lessThan": "6.6.143",
"status": "affected",
"version": "6.6.141",
"versionType": "semver"
},
{
"lessThan": "6.12.94",
"status": "affected",
"version": "6.12.91",
"versionType": "semver"
},
{
"lessThan": "6.18.36",
"status": "affected",
"version": "6.18.33",
"versionType": "semver"
},
{
"lessThan": "7.0.13",
"status": "affected",
"version": "7.0.10",
"versionType": "semver"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.259",
"versionStartIncluding": "5.10.258",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.210",
"versionStartIncluding": "5.15.209",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.176",
"versionStartIncluding": "6.1.175",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.143",
"versionStartIncluding": "6.6.141",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.94",
"versionStartIncluding": "6.12.91",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.36",
"versionStartIncluding": "6.18.33",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.0.13",
"versionStartIncluding": "7.0.10",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"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-\u003elock around the destructive part of\nsmq_invalidate_mapping(), but left the e-\u003eallocated check outside the\ncritical section.\n\nThat leaves a check-then-act race. Two concurrent invalidators can both\nobserve e-\u003eallocated as true before either of them takes mq-\u003elock. The\nfirst invalidator that acquires the lock removes the entry from the\nqueues and hash table and then calls free_entry(), which clears\ne-\u003eallocated and puts the entry back on the free list. The second\ninvalidator can then acquire mq-\u003elock 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-\u003elock so the predicate and the\ndestructive operations are serialized by the same lock."
}
],
"providerMetadata": {
"dateUpdated": "2026-06-25T08:39:52.543Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"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"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-53265",
"datePublished": "2026-06-25T08:39:52.543Z",
"dateReserved": "2026-06-09T07:44:35.395Z",
"dateUpdated": "2026-06-25T08:39:52.543Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-53265",
"date": "2026-06-25",
"epss": "0.00172",
"percentile": "0.06777"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…