Linux kernel: md-cluster NULL ptr deref in process_metadata_update during init
CVE-2026-43271 Published on May 6, 2026
md-cluster: fix NULL pointer dereference in process_metadata_update
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.
Products Associated with CVE-2026-43271
Want to know whenever a new CVE is published for Linux Kernel? stack.watch will email you.
Affected Versions
Linux:- Version 0ba959774e93911caff596de6391f085fb640ac4 and below a61c1bc84c4a0f1e7c2fe55b0f43d7d94af4adf1 is affected.
- Version 0ba959774e93911caff596de6391f085fb640ac4 and below dec123825c1ed74d98fd5fc7571a851dea4f46ff is affected.
- Version 0ba959774e93911caff596de6391f085fb640ac4 and below 721599e837d3f4c0e6cc14da059612c017b6d3ec is affected.
- Version 0ba959774e93911caff596de6391f085fb640ac4 and below dceb5a843910004cb118148e267036104fc3ee43 is affected.
- Version 0ba959774e93911caff596de6391f085fb640ac4 and below f150e753cb8dd756085f46e86f2c35ce472e0a3c is affected.
- Version 4.12 is affected.
- Before 4.12 is unaffected.
- Version 6.6.128, <= 6.6.* is unaffected.
- Version 6.12.75, <= 6.12.* is unaffected.
- Version 6.18.16, <= 6.18.* is unaffected.
- Version 6.19.6, <= 6.19.* is unaffected.
- Version 7.0, <= * is unaffected.