Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-43471

CVE-2026-43471: Linux Kernel Use-After-Free Vulnerability

CVE-2026-43471 is a use-after-free vulnerability in the Linux kernel SCSI UFS core that causes NULL pointer dereference crashes. This article covers the technical details, affected versions, impact, and mitigation strategies.

Published:

CVE-2026-43471 Overview

CVE-2026-43471 is a NULL pointer dereference vulnerability in the Linux kernel's Universal Flash Storage (UFS) SCSI subsystem. The flaw resides in the ufshcd_add_command_trace() function within the UFS host controller driver core. When ufshcd_mcq_req_to_hwq() returns NULL, subsequent access to hwq->id triggers a kernel page fault and system crash. The issue affects systems using the Multi-Circular Queue (MCQ) mode of UFS, observed on MediaTek platforms via the ufs_mtk_mcq_intr interrupt path. The upstream fix introduces a NULL check before dereferencing the hardware queue pointer.

Critical Impact

Local triggering of the NULL pointer dereference results in a kernel crash and denial of service on affected Linux systems using UFS storage with MCQ support.

Affected Products

  • Linux kernel versions containing the UFS MCQ command tracing code path in drivers/ufs/core/
  • Systems using UFS storage with MCQ mode enabled, including MediaTek-based platforms via the ufs_mediatek_mod module
  • Stable kernel branches referenced by commits 0614f56, 30df81f, 93b9e7e, be730f9, and f4f590c

Discovery Timeline

  • 2026-05-08 - CVE-2026-43471 published to NVD
  • 2026-05-12 - Last updated in NVD database

Technical Details for CVE-2026-43471

Vulnerability Analysis

The vulnerability resides in ufshcd_add_command_trace(), a tracing helper invoked during UFS command completion. The function calls ufshcd_mcq_req_to_hwq() to map an SCSI request to its corresponding hardware queue (hwq). The original code assumes the returned pointer is always valid and immediately dereferences hwq->id for trace event emission.

Under certain race or completion conditions, ufshcd_mcq_req_to_hwq() can return NULL. The kernel oops trace shows the fault propagating from ufshcd_compl_one_cqe through ufshcd_mcq_poll_cqe_lock and into the MediaTek MCQ interrupt handler ufs_mtk_mcq_intr. The resulting translation fault crashes the kernel via el1_abort and die_kernel_fault. This pattern is classified as [CWE-476] NULL Pointer Dereference and produces a denial of service on the affected host.

Root Cause

The root cause is the missing NULL check on the hardware queue pointer returned by ufshcd_mcq_req_to_hwq() before reading the id field. The upstream patch adds a guard that validates hwq is non-NULL prior to use, preventing the dereference and the subsequent oops.

Attack Vector

The issue triggers locally through the storage I/O completion path, not via remote network input. An attacker or workload that can reliably induce the race condition on the MCQ completion path may force repeated kernel crashes. The vulnerability impacts availability of the affected host; no code execution or privilege escalation has been documented.

The vulnerability mechanism is a missing pointer validation before dereference. Refer to the upstream commits for the exact patch source.

Detection Methods for CVE-2026-43471

Indicators of Compromise

  • Kernel oops messages referencing ufshcd_add_command_trace+0x23c/0x320 in dmesg or /var/log/kern.log
  • Page fault traces showing do_translation_fault followed by el1h_64_sync_handler originating from UFS MCQ completion paths
  • Unexpected reboots or storage subsystem hangs on systems running UFS MCQ with the MediaTek UFS driver loaded

Detection Strategies

  • Audit running kernel versions against the fixed commits 0614f56, 30df81f, 93b9e7e, be730f9, and f4f590c using uname -r and distribution package metadata
  • Monitor kernel ring buffer for crash signatures matching the ufshcd_compl_one_cqeufshcd_add_command_trace call chain
  • Correlate storage subsystem errors with MCQ interrupt handler activity through tracing tools such as ftrace or perf

Monitoring Recommendations

  • Centralize kernel logs from Linux hosts and alert on oops or panic events that reference UFS functions
  • Track patch deployment status across kernel fleets using configuration management telemetry
  • Watch for crash loops on devices using UFS storage, particularly mobile and embedded systems with MediaTek SoCs

How to Mitigate CVE-2026-43471

Immediate Actions Required

Patch Information

The fix adds a NULL check for the hwq pointer before accessing hwq->id in ufshcd_add_command_trace(). Distribution vendors are issuing rebased stable kernel packages incorporating the upstream commits listed above. Apply the vendor-supplied kernel update appropriate for your distribution and reboot.

Workarounds

  • Where patching is not immediately feasible, evaluate disabling UFS MCQ mode if the platform supports legacy single-queue operation
  • Restrict workloads that exercise heavy concurrent UFS I/O on unpatched hosts to reduce the likelihood of triggering the race
  • Maintain crash dump collection (kdump) to capture forensic evidence if the oops recurs in production
bash
# Verify installed kernel version and check for the fix
uname -r
# On Debian/Ubuntu, update the kernel package
sudo apt update && sudo apt install --only-upgrade linux-image-generic
# On RHEL/Fedora
sudo dnf update kernel
# Reboot to load the patched kernel
sudo reboot

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.