null_blk: serialize configfs attribute stores with the lock (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.21 % · percentile 11 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Received
Description
In the Linux kernel, the following vulnerability has been resolved: null_blk: serialize configfs attribute stores with the lock The NULLB_DEVICE_ATTR _store takes no lock: apply_fn attributes (submit_queues, poll_queues) get dev->NAME written again after apply_fn returns, outside its lock; APPLY=NULL attributes are entirely lockless. configfs only serializes stores per-open-file, so concurrent stores on separate fds race. For apply_fn attributes, once one store's apply_fn has reconfigured the hardware, a second (losing) store can still overwrite dev->NAME afterwards. This leaves dev->submit_queues out of sync with the live queue count, which is later caught by the WARN_ON_ONCE() in null_map_queues(). For !apply_fn attributes, power_store()'s null_add_dev() validates and builds the device under "lock" but only sets CONFIGURED afterwards. A store slipping in during this window can change a field mid-setup -- for example, zone_nr_conv can be pushed above nr_zones after it has already been clamped, leading to an out-of-bounds dev->zones[] access. Take "lock" in the macro around the apply_fn call, the CONFIGURED test and the field write, and move it out of nullb_apply_submit_queues()/ nullb_apply_poll_queues() so both paths are covered once. This serializes stores with power_store's setup and with each other.
References
- https://git.kernel.org/stable/c/8e839ed5210399a0330a8a6c5885c1d40a537c6d
- https://git.kernel.org/stable/c/88d806d0e1d36246208386a8e55b511c1b3d647c
- https://git.kernel.org/stable/c/3945ce8cbce4e328e6fdf0b522dc71e340de19db
- https://git.kernel.org/stable/c/65cae82fd3c39b53430672cb9e3ecd267471a6ce
- https://git.kernel.org/stable/c/c70994c2862b05e44728912b2ea9487d31e2aea7
- https://git.kernel.org/stable/c/7e7fff51808237703a3a1df6dd5cae1dfd1db86d
European references
- ENISA EUVD · EUVD-2026-81778
- GCVE · GCVE-0-2026-90185
CERT-FR advisories
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1375 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1289 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1253 — Multiples vulnérabilités dans le noyau Linux de Debian · cert.ssi.gouv.fr
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 45919fbfe1c487c17ea1d198534339a5e8abeae3 < 8e839ed5210399a0330a8a6c5885c1d40a537c6d ; affected 45919fbfe1c487c17ea1d198534339a5e8abeae3 < 88d806d0e1d36246208386a8e55b511c1b3d647c ; affected 45919fbfe1c487c17ea1d198534339a5e8abeae3 < 3945ce8cbce4e328e6fdf0b522dc71e340de19db ; affected 45919fbfe1c487c17ea1d198534339a5e8abeae3 < 65cae82fd3c39b53430672cb9e3ecd267471a6ce ; affected 45919fbfe1c487c17ea1d198534339a5e8abeae3 < c70994c2862b05e44728912b2ea9487d31e2aea7 ; affected 45919fbfe1c487c17ea1d198534339a5e8abeae3 < 7e7fff51808237703a3a1df6dd5cae1dfd1db86d |
| Linux · Linux | affected 5.5 ; unaffected 0 < 5.5 ; unaffected 6.1.188 ≤ 6.1.* ; unaffected 6.6.157 ≤ 6.6.* ; unaffected 6.12.110 ≤ 6.12.* ; unaffected 6.18.52 ≤ 6.18.* |
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 |