CVE-2022-50552
blk-mq: use quiesced elevator switch when reinitializing queues
At a glance
- Source
- NVD
- EPSS
- EPSS 0.21 % · percentile 12 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Modified
Description
In the Linux kernel, the following vulnerability has been resolved: blk-mq: use quiesced elevator switch when reinitializing queues The hctx's run_work may be racing with the elevator switch when reinitializing hardware queues. The queue is merely frozen in this context, but that only prevents requests from allocating and doesn't stop the hctx work from running. The work may get an elevator pointer that's being torn down, and can result in use-after-free errors and kernel panics (example below). Use the quiesced elevator switch instead, and make the previous one static since it is now only used locally. nvme nvme0: resetting controller nvme nvme0: 32/0/0 default/read/poll queues BUG: kernel NULL pointer dereference, address: 0000000000000008 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 80000020c8861067 P4D 80000020c8861067 PUD 250f8c8067 PMD 0 Oops: 0000 [#1] SMP PTI Workqueue: kblockd blk_mq_run_work_fn RIP: 0010:kyber_has_work+0x29/0x70 ... Call Trace: __blk_mq_do_dispatch_sched+0x83/0x2b0 __blk_mq_sched_dispatch_requests+0x12e/0x170 blk_mq_sched_dispatch_requests+0x30/0x60 __blk_mq_run_hw_queue+0x2b/0x50 process_one_work+0x1ef/0x380 worker_thread+0x2d/0x3e0
Weaknesses (CWE)
- CWE-416 — Use After Free
References
- https://git.kernel.org/stable/c/0f90015383cd3f1128bebfbe7a97122d97808046
- https://git.kernel.org/stable/c/9646443f28f33ec545ae303e613c3f476fad4dc1
- https://git.kernel.org/stable/c/63a681bcc32a43528ce0f690569f7f48e59c3963
- https://git.kernel.org/stable/c/c478b3b2900f1834cf9eda5bfef0d5696099505d
- https://git.kernel.org/stable/c/8237c01f1696bc53c470493bf1fe092a107648a6
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 | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2025-32006
- GCVE · GCVE-0-2022-50552
CERT-FR advisories
- CERTFR-2026-AVI-1229 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1093 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0985 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0954 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0926 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0862 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0326 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0316 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 4.19 < 5.19.17cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.0 < 6.0.3
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected d48ece209f82c9ce07be942441b53d3fa3664936 < 0f90015383cd3f1128bebfbe7a97122d97808046 ; affected d48ece209f82c9ce07be942441b53d3fa3664936 < 9646443f28f33ec545ae303e613c3f476fad4dc1 ; affected d48ece209f82c9ce07be942441b53d3fa3664936 < 63a681bcc32a43528ce0f690569f7f48e59c3963 ; affected d48ece209f82c9ce07be942441b53d3fa3664936 < c478b3b2900f1834cf9eda5bfef0d5696099505d ; affected d48ece209f82c9ce07be942441b53d3fa3664936 < 8237c01f1696bc53c470493bf1fe092a107648a6 |
| Linux · Linux | affected 4.19 ; unaffected 0 < 4.19 ; unaffected 5.10.258 ≤ 5.10.* ; unaffected 5.15.209 ≤ 5.15.* ; unaffected 5.19.17 ≤ 5.19.* ; unaffected 6.0.3 ≤ 6.0.* |
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 |