CVE-2024-26807
Linux Kernel vulnerability analysis and mitigation

Overview

A vulnerability in the Linux kernel's Cadence QuadSPI driver has been identified as CVE-2024-26807. The issue stems from incorrect pointer handling in the runtime power management hooks where both ->runtime_suspend() and ->runtime_resume() implementations incorrectly use dev_get_drvdata() to obtain pointers to both the cqspi structure and SPI controller. This vulnerability was discovered and reported in February 2024 (Kernel Git).

Technical details

The vulnerability exists in the cadence-quadspi driver's runtime PM hooks where the code attempts to use dev_get_drvdata() to get both cqspi and SPI controller pointers. The issue arises because neither structure embeds the other, leading to incorrect pointer references. The struct spi_controller is allocated by devm_spi_alloc_host() with extra memory for private data to store the struct cqspi_st. While the ->probe() function correctly sets the device drvdata to the struct cqspi_st address, attempting to retrieve the SPI controller using the same method results in pointing to the wrong structure (NVD).

Impact

The vulnerability can lead to memory corruption and kernel crashes during the probe process. This occurs because the ->runtime_resume() hook is called when the device is enabled using PM runtime, which then calls spi_controller_resume() with an incorrect pointer. The exact behavior depends on memory contents, but at least one reported case resulted in a kernel crash. The issue affects all platforms using the cadence-quadspi driver (Kernel Git).

Exploitability

The vulnerability has been confirmed to cause system crashes in real-world scenarios, particularly on the Mobileye EyeQ5 platform where the memory corruption manifests in the cqspi->f_pdata structure. The uninitialized memory is then used as a mutex (ctlr->bus_lock_mutex) by spi_controller_suspend(), leading to system instability (Kernel Git).

Mitigation and workarounds

A fix has been developed and committed to the Linux kernel. The solution involves correcting the pointer references in the runtime PM hooks by properly using the stored host pointer (cqspi->host) instead of attempting to retrieve it again via dev_get_drvdata(). The patch has been reviewed and approved by kernel maintainers (Kernel Git).

Additional resources


SourceThis report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-74583NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-debug
NoYesAug 21, 2026
CVE-2026-74582NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel.src
NoYesAug 21, 2026
CVE-2026-74581NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-64k-modules-internal
NoYesAug 21, 2026
CVE-2026-74580NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-debug
NoYesAug 21, 2026
CVE-2025-30156NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-debug-devel-matched
NoYesAug 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management