CVE-2024-27000

7.8 HIGH

📋 TL;DR

A race condition vulnerability in the Linux kernel's mxs-auart serial driver allows local attackers to cause a kernel panic (denial of service) by triggering concurrent CTS state changes without proper locking. This affects systems using Freescale i.MX28 hardware with Bluetooth drivers loaded. The vulnerability requires local access to exploit.

💻 Affected Systems

Products:
  • Linux kernel with mxs-auart serial driver
Versions: Linux kernel versions up to 6.6.3, specifically commits before the fix
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Freescale i.MX28 hardware with Bluetooth driver (hci_uart) loaded. The vulnerability manifests when CTS state changes occur concurrently without proper spinlock protection.

📦 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 →

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 system crash and denial of service, potentially disrupting critical operations on affected embedded devices.

🟠

Likely Case

System instability or crashes when Bluetooth hardware is active on vulnerable i.MX28 systems, requiring manual reboot.

🟢

If Mitigated

Minimal impact with proper access controls preventing local user exploitation.

🌐 Internet-Facing: LOW - Requires local access to exploit, not remotely exploitable.
🏢 Internal Only: MEDIUM - Local users or processes could trigger crashes on affected systems, potentially disrupting services.

🎯 Exploit Status

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

Exploitation requires local access and ability to trigger concurrent CTS state changes. The kernel warning indicates race condition timing is needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel with commits 0dc0637e6b16158af85945425821bfd0151adb37 or later

Vendor Advisory: https://git.kernel.org/stable/c/0dc0637e6b16158af85945425821bfd0151adb37

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commit. 2. For embedded systems: Rebuild kernel with patched mxs-auart driver. 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable Bluetooth driver

linux

Prevent loading of hci_uart Bluetooth driver to avoid triggering the race condition

echo 'blacklist hci_uart' >> /etc/modprobe.d/blacklist.conf
rmmod hci_uart

Disable mxs-auart serial port

linux

Disable the affected serial port if not required for system operation

echo 0 > /sys/class/tty/ttyAPP0/active

🧯 If You Can't Patch

  • Restrict local user access to prevent exploitation by untrusted users
  • Monitor system logs for kernel warnings related to uart_handle_cts_change and restart affected services

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if mxs-auart driver is loaded: uname -r && lsmod | grep mxs_auart

Check Version:

uname -r

Verify Fix Applied:

Verify kernel includes fix commit: git log --oneline | grep -i 'mxs-auart.*spinlock.*cts' or check kernel version is newer than 6.6.3 with patches

📡 Detection & Monitoring

Log Indicators:

  • Kernel warnings containing 'uart_handle_cts_change'
  • System crashes or panics when Bluetooth is enabled on i.MX28 hardware
  • WARNING messages in dmesg about serial_core.c:3453

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND "uart_handle_cts_change" OR "mxs_auart_irq_handle" AND WARNING

🔗 References

📤 Share & Export