Cloudanix VulnDB

CVE-2026-43271

Medium · 5.5

CVSS

5.5

EPSS

0.1%

Published

May 6, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

Some Linux systems using clustered software RAID can crash during storage startup if they receive a badly timed cluster update message.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Denial of service
Remediation
Patch
Effort
Low
Patch risk
Low

What it actually does

This flaw is a NULL pointer dereference in the Linux kernel md-cluster code path. During MD array startup, the cluster receive daemon can begin processing cluster metadata messages before the main MD thread pointer is initialized. If a METADATA_UPDATED message is processed in that race window, process_metadata_update() can dereference a NULL mddev->thread pointer inside wait_event(), causing a kernel panic. The primary impact is local system availability loss; there is no indicated confidentiality or integrity impact.

Why it matters to the business

Systems using Linux MD clustered RAID can crash during array startup if the vulnerable race is triggered, potentially causing service outages, node failover events, storage unavailability, or application downtime. Because this affects kernel availability, a successful trigger can interrupt any workload depending on the affected host or storage stack. The issue is not listed in CISA KEV, has very low EPSS, and has no reported exploit maturity in the provided data, so remediation should be prioritized for systems using md-cluster rather than treated as a broad internet-wide emergency.

How an attack unfolds

An attacker must be in a position to influence or participate in the clustered MD environment, or otherwise cause metadata update handling during the vulnerable startup sequence. The vulnerable system begins starting an MD clustered array. During md_run(), bitmap_load() invokes the cluster join operation, which starts the cluster receive daemon. Before mddev->thread is initialized, the receive daemon may process incoming cluster messages. If a METADATA_UPDATED message arrives during this narrow window, process_metadata_update() is invoked with mddev->thread still NULL. The function attempts to use that pointer without validation, resulting in a kernel NULL pointer dereference and system panic. Practical exploitation depends on timing and access to the clustered storage communication path or a privileged local ability to manipulate MD cluster startup behavior.

How to fix it

Upgrade to a Linux kernel version that includes the md-cluster fix for process_metadata_update() NULL pointer validation. No exact fixed versions were provided in the input, so use the kernel packages supplied by the relevant Linux distribution or vendor advisory and confirm the changelog includes the md-cluster fix for this issue. Where immediate patching is not possible, reduce exposure by disabling unused MD clustered RAID functionality, avoiding unnecessary clustered MD configurations, restricting cluster communication to trusted nodes and networks, and scheduling controlled restarts of affected clustered storage nodes to reduce unplanned crash impact.

How to confirm the fix worked

Confirm whether the system uses md-cluster or clustered MD RAID functionality; systems not using this feature are unlikely to be practically exposed. Validate that the running kernel package includes the upstream fix that checks the thread pointer in process_metadata_update() and returns safely when it is NULL. After patching, reboot into the fixed kernel and verify the active kernel version with standard OS tooling. Review vendor kernel changelogs or source patches for the md-cluster process_metadata_update() fix. In test environments, exercise clustered MD array startup/rejoin workflows and confirm METADATA_UPDATED handling does not produce kernel panic, NULL pointer dereference, or cluster_recv crashes.

Typical attack path

  1. Identify a Linux system using MD clustered RAID / md-cluster functionality.
  2. Obtain local privileged or cluster-adjacent capability sufficient to influence MD array startup or clustered metadata messaging.
  3. Cause or wait for the target MD clustered array to start or rejoin the cluster.
  4. Send, replay, or trigger a METADATA_UPDATED message during the startup window after the cluster receive daemon starts but before the main MD thread is initialized.
  5. Trigger the NULL pointer dereference in process_metadata_update().
  6. Cause a kernel panic, resulting in denial of service for the affected host.

How to detect it

To determine whether this was already triggered, review kernel and system logs from affected Linux hosts, especially around MD array startup, cluster join, node reboot, storage failover, or rejoin events. Useful log sources include journalctl kernel logs, /var/log/kern.log, /var/log/messages, /var/log/syslog, crash dump metadata, kdump/vmcore analysis, and cluster/storage management logs. Look for kernel panic entries, NULL pointer dereference reports, call traces referencing process_metadata_update(), md-cluster, cluster_recv, METADATA_UPDATED handling, or md_run startup. Correlate crash timestamps with clustered MD array start/rejoin operations and inbound cluster metadata traffic from peer nodes. Because this is a crash-class kernel bug, evidence is likely to be a panic, oops, vmcore, or abrupt reboot rather than persistent malware artifacts.

  • BUG: kernel NULL pointer dereference
  • kernel NULL pointer dereference
  • process_metadata_update
  • md-cluster
  • cluster_recv
  • METADATA_UPDATED
  • md_run
  • bitmap_load
  • mddev->thread
  • wait_event
  • Kernel panic - not syncing
  • Oops:
  • RIP: process_metadata_update
  • Call Trace:
  • /var/crash
  • /var/lib/systemd/coredump
  • vmcore

What your security team should do

  • Inventory Linux systems using MD clustered RAID or md-cluster and prioritize those hosts for review.
  • Patch affected systems using vendor-supported kernel updates that include the md-cluster process_metadata_update() NULL pointer fix.
  • Reboot systems into the fixed kernel after patching; installing the package alone is not sufficient for kernel vulnerabilities.
  • Restrict MD cluster communication to trusted cluster nodes over protected networks.
  • Review recent kernel logs for NULL pointer dereference, kernel panic, md-cluster, cluster_recv, or process_metadata_update artifacts that may indicate prior triggering.
  • For high-availability storage clusters, coordinate rolling maintenance and failover testing to reduce operational disruption during remediation.
  • If patching must be delayed, disable unused clustered MD functionality and avoid restarting or rejoining vulnerable MD clustered arrays except during controlled maintenance windows.

The record

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.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities