Skip to main content
← All vulnerabilities
CVE-2026-43271

md-cluster: fix NULL pointer dereference in process_metadata_update

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.6.128, 6.12.75, 6.18.16, 6.19.6
None on Exploit-DB, Metasploit or GitHub

Summary

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    Version range not reported

  • Linux Linux

    4.12

  • KernelLinux

    From 4.12.0 · fixed in 6.6.128; From 6.7.0 · fixed in 6.12.75; From 6.13.0 · fixed in 6.18.16; From 6.19.0 · fixed in 6.19.6

References 6

git.kernel.org