CVE Catalog

CVE-2025-71285

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.16%

5th percentile - higher than 5% of all known CVEs

Summary

In the Linux kernel, the MHI 'auto_queue' feature for IPCR DL channels was dropped because it introduced a race between client drivers and the MHI stack. The race could cause dl_callback to be invoked before the client driver's structures were initialized, leading to a NULL pointer dereference and boot failures on Qcom X1E80100 CRD machines. The QRTR driver now manages RX buffers manually.

Risk Assessment

The vulnerability can cause kernel crashes (NULL pointer dereference) and prevent system boot on affected Qualcomm platforms. In production environments this leads to service unavailability and requires administrative intervention.

Recommendation

Update the Linux kernel to a version containing the fix that removes the auto_queue feature for IPCR DL channels. After updating, verify successful boot on machines with the Qualcomm X1E80100 platform.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: net: qrtr: Drop the MHI auto_queue feature for IPCR DL channels MHI stack offers the 'auto_queue' feature, which allows the MHI stack to auto queue the buffers for the RX path (DL channel). Though this feature simplifies the client driver design, it introduces race between the client drivers and the MHI stack. For instance, with auto_queue, the 'dl_callback' for the DL channel may get called before the client driver is fully probed. This means, by the time the dl_callback gets called, the client driver's structures might not be initialized, leading to NULL ptr dereference. Currently, the drivers have to workaround this issue by initializing the internal structures before calling mhi_prepare_for_transfer_autoqueue(). But even so, there is a chance that the client driver's internal code path may call the MHI queue APIs before mhi_prepare_for_transfer_autoqueue() is called, leading to similar NULL ptr dereference. This issue has been reported on the Qcom X1E80100 CRD machines affecting boot. So to properly fix all these races, drop the MHI 'auto_queue' feature altogether and let the client driver (QRTR) manage the RX buffers manually. In the QRTR driver, queue the RX buffers based on the ring length during probe and recycle the buffers in 'dl_callback' once they are consumed. This also warrants removing the setting of 'auto_queue' flag from controller drivers. Currently, this 'auto_queue' feature is only enabled for IPCR DL channel. So only the QRTR client driver requires the modification.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS