CVE-2024-27028

6.5 MEDIUM

📋 TL;DR

This CVE describes a NULL pointer dereference vulnerability in the Linux kernel's SPI-MT65xx driver interrupt handler. When the TX buffer in a spi_transfer is NULL, the interrupt handler attempts to write to invalid memory, causing system crashes. This affects systems using MediaTek SPI controllers with the vulnerable driver.

💻 Affected Systems

Products:
  • Linux kernel with spi-mt65xx driver
Versions: Linux kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using MediaTek SPI controllers with the spi-mt65xx driver loaded. Embedded devices, IoT devices, and some ARM-based systems are most likely affected.

📦 What is this software?

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to complete system crash and denial of service, potentially causing data loss or system instability.

🟠

Likely Case

System crash or kernel panic when SPI transfers with NULL TX buffers occur, resulting in temporary denial of service.

🟢

If Mitigated

Minor system instability that requires reboot to recover from kernel panic.

🌐 Internet-Facing: LOW - Requires local access or ability to trigger SPI operations, not directly exploitable over network.
🏢 Internal Only: MEDIUM - Local users or processes with SPI access could trigger crashes, affecting system availability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires ability to trigger SPI operations with NULL TX buffers. Likely requires local access or compromised process with SPI permissions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits: 1784053cf10a14c4ebd8a890bad5cfe1bee51713, 2342b05ec5342a519e00524a507f7a6ea6791a38, 55f8ea6731aa64871ee6aef7dba53ee9f9f3b2f6, 62b1f837b15cf3ec2835724bdf8577e47d14c753, 766ec94cc57492eab97cbbf1595bd516ab0cb0e4

Vendor Advisory: https://git.kernel.org/stable/c/1784053cf10a14c4ebd8a890bad5cfe1bee51713

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. For distributions: Use package manager (apt/yum/dnf) to update kernel. 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable SPI-MT65xx driver

linux

Unload or blacklist the vulnerable spi-mt65xx kernel module if not required

sudo rmmod spi_mt65xx
echo 'blacklist spi_mt65xx' | sudo tee /etc/modprobe.d/blacklist-spi-mt65xx.conf

🧯 If You Can't Patch

  • Restrict SPI device access to trusted users and processes only
  • Implement monitoring for kernel panics and system crashes related to SPI operations

🔍 How to Verify

Check if Vulnerable:

Check if spi_mt65xx module is loaded: lsmod | grep spi_mt65xx. Check kernel version against patched versions.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits. Check dmesg for SPI-related crashes after fix.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages in /var/log/kern.log or dmesg
  • NULL pointer dereference errors mentioning spi_mt65xx or SPI

Network Indicators:

  • No network indicators - local vulnerability

SIEM Query:

source="kernel" AND ("NULL pointer" OR "kernel panic") AND "spi"

🔗 References

📤 Share & Export