dm cache policy smq: check allocation under invalidate lock (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.10 % · percentile 1 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Modified
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.
Weaknesses (CWE)
- CWE-362 — Concurrent Execution using Shared Resource with Improper Synchronization
References
- https://git.kernel.org/stable/c/c242c7af2aecf0b538b8623bdb86b8b441da38d9
- https://git.kernel.org/stable/c/13da856c86fb8c2ccab95034fd77da1bb2c2a17c
- https://git.kernel.org/stable/c/d886945fcb0f8c9dc6b39928d7a96c95c587346c
- https://git.kernel.org/stable/c/b4892561552d671bd8c4da5ebb70e9fbb1ec446e
- https://git.kernel.org/stable/c/03ffe1112ed88bb3a9bd0b971549bf4d64bfc59a
- https://git.kernel.org/stable/c/42ff6774ecd9d7f70d599cb71ff64373a1da4948
- https://git.kernel.org/stable/c/c57570fba24016ec25ec046ab44db39143fb7a64
- https://git.kernel.org/stable/c/d3f0a606b9f278ece8a0df626ded9c4044071235
- https://cert-portal.siemens.com/productcert/html/ssa-784472.html
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | Linux |
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | NVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary) |
European references
- ENISA EUVD · EUVD-2026-39216
- GCVE · GCVE-0-2026-53265
CERT-FR advisories
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1333 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1298 — Multiples vulnérabilités dans les produits Siemens · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1286 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1231 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1229 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1203 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1162 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1091 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1064 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0812 — Multiples vulnérabilités dans Microsoft Azure Linux · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.6.141 < 6.6.143cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.12.91 < 6.12.94cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.18.33 < 6.18.36cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 7.0.10 < 7.0.13cpe:2.3:o:linux:linux_kernel:5.10.258:*:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.15.209:*:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:6.1.175:*:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 4991b5a08751e2e82488fb93ae08849b6aea10d9 < c242c7af2aecf0b538b8623bdb86b8b441da38d9 ; affected 1b2bec4a7dcf5f00b7a1cbeeec8997841d783513 < 13da856c86fb8c2ccab95034fd77da1bb2c2a17c ; affected 9a5fdfb9e57ec3a8ad2b8fce5e5ffa42d53b130e < d886945fcb0f8c9dc6b39928d7a96c95c587346c ; affected ac5ee99443891bdb161f5539606a66a1b5e72542 < b4892561552d671bd8c4da5ebb70e9fbb1ec446e ; affected 93627a29d4b66d4a2def938dfb8610cc80ae454b < 03ffe1112ed88bb3a9bd0b971549bf4d64bfc59a ; affected c348ae47d8e65f06429fa41adce9ad986b696766 < 42ff6774ecd9d7f70d599cb71ff64373a1da4948 |
| Linux · Linux | affected 5.10.258 < 5.10.259 ; affected 5.15.209 < 5.15.210 ; affected 6.1.175 < 6.1.176 ; affected 6.6.141 < 6.6.143 ; affected 6.12.91 < 6.12.94 ; affected 6.18.33 < 6.18.36 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |