md-cluster: fix NULL pointer dereference in process_metadata_update (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.12 % · percentile 2 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Modified
Description
In the Linux kernel, the following vulnerability has been resolved: md-cluster: fix NULL pointer dereference in process_metadata_update The function process_metadata_update() blindly dereferences the 'thread' pointer (acquired via rcu_dereference_protected) within the wait_event() macro. While the code comment states "daemon thread must exist", there is a valid race condition window during the MD array startup sequence (md_run): 1. bitmap_load() is called, which invokes md_cluster_ops->join(). 2. join() starts the "cluster_recv" thread (recv_daemon). 3. At this point, recv_daemon is active and processing messages. 4. However, mddev->thread (the main MD thread) is not initialized until later in md_run(). If a METADATA_UPDATED message is received from a remote node during this specific window, process_metadata_update() will be called while mddev->thread is still NULL, leading to a kernel panic. To fix this, we must validate the 'thread' pointer. If it is NULL, we release the held lock (no_new_dev_lockres) and return early, safely ignoring the update request as the array is not yet fully ready to process it.
Weaknesses (CWE)
- CWE-476 — NULL Pointer Dereference
References
- https://git.kernel.org/stable/c/b65ea893290056bee380d0c8eeb47797c2bcb311
- https://git.kernel.org/stable/c/a61c1bc84c4a0f1e7c2fe55b0f43d7d94af4adf1
- https://git.kernel.org/stable/c/dec123825c1ed74d98fd5fc7571a851dea4f46ff
- https://git.kernel.org/stable/c/721599e837d3f4c0e6cc14da059612c017b6d3ec
- https://git.kernel.org/stable/c/dceb5a843910004cb118148e267036104fc3ee43
- https://git.kernel.org/stable/c/f150e753cb8dd756085f46e86f2c35ce472e0a3c
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2026-27666
- GCVE · GCVE-0-2026-43271
CERT-FR advisories
- CERTFR-2026-AVI-1255 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1202 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1164 — Multiples vulnérabilités dans le noyau Linux de SUSE · 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-0861 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0831 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 4.12 < 6.6.128cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.7 < 6.12.75cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.13 < 6.18.16cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.19 < 6.19.6
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 0ba959774e93911caff596de6391f085fb640ac4 < b65ea893290056bee380d0c8eeb47797c2bcb311 ; affected 0ba959774e93911caff596de6391f085fb640ac4 < a61c1bc84c4a0f1e7c2fe55b0f43d7d94af4adf1 ; affected 0ba959774e93911caff596de6391f085fb640ac4 < dec123825c1ed74d98fd5fc7571a851dea4f46ff ; affected 0ba959774e93911caff596de6391f085fb640ac4 < 721599e837d3f4c0e6cc14da059612c017b6d3ec ; affected 0ba959774e93911caff596de6391f085fb640ac4 < dceb5a843910004cb118148e267036104fc3ee43 ; affected 0ba959774e93911caff596de6391f085fb640ac4 < f150e753cb8dd756085f46e86f2c35ce472e0a3c |
| Linux · Linux | affected 4.12 ; unaffected 0 < 4.12 ; unaffected 6.1.191 ≤ 6.1.* ; unaffected 6.6.128 ≤ 6.6.* ; unaffected 6.12.75 ≤ 6.12.* ; unaffected 6.18.16 ≤ 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 |