CVE-2024-27000·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: serial: mxs-auart: add spinlock around changing cts state The uart_handle_cts_change() function in serial_core expects the caller to hold uport->lock. For example, I have seen the below kernel splat, when the Bluetooth driver is loaded on an i.MX28 board. [ 85.119255] ------------[ cut here ]------------ [ 85.124413] WARNING: CPU: 0 PID: 27 at /drivers/tty/serial/serial_core.c:3453 uart_handle_cts_change+0xb4/0xec [ 85.134694] Modules linked in: hci_uart bluetooth ecdh_generic ecc wlcore_sdio configfs [ 85.143314] CPU: 0 PID: 27 Comm: kworker/u3:0 Not tainted 6.6.3-00021-gd62a2f068f92 #1 [ 85.151396] Hardware name: Freescale MXS (Device Tree) [ 85.156679] Workqueue: hci0 hci_power_on [bluetooth] (...) [ 85.191765] uart_handle_cts_change from mxs_auart_irq_handle+0x380/0x3f4 [ 85.198787] mxs_auart_irq_handle from __handle_irq_event_percpu+0x88/0x210 (...)
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.8.8
- Published
- 2024-05-01
Affected versions
From: 6.7
Until: 6.8.8
Fixed in: 6.8.8
How to fix this CVE
Update your Linux kernel to version 6.8.8 or later to resolve a critical race condition in the MXS UART driver where CTS (Clear to Send) state changes were not properly protected by spinlocks. This vulnerability can cause kernel warnings and potential system instability when Bluetooth or other drivers interact with serial ports. Apply the kernel update immediately through your distribution's package manager.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your current kernel version by running `uname -r` and compare against the affected range (6.7.x to 6.8.7)
- Step 2: Verify if MXS UART driver is loaded by running `lsmod | grep mxs_auart` or checking device tree for mxs-auart compatible nodes in `/proc/device-tree`
- Step 3: Search system logs for the specific warning pattern using `sudo journalctl -b | grep -i 'uart_handle_cts_change\|WARNING.*serial_core.c:3453'`
- Step 4: Confirm the fix by updating to kernel 6.8.8+ and verifying with `uname -r`, then reboot and check for absence of CTS-related kernel warnings in `sudo journalctl -b`
FAQ
What is CVE-2024-27000?
CVE-2024-27000 is a race condition in the Linux kernel's MXS UART serial driver where the CTS (Clear to Send) state change handler was called without proper spinlock protection. This violation of the serial_core API contract can trigger kernel warnings and potential data corruption when Bluetooth or other drivers interact with affected serial ports.
Is CVE-2024-27000 being actively exploited?
No, there are no known active exploits or public exploit code for CVE-2024-27000. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.
What versions of Kernel are affected by CVE-2024-27000?
Kernel versions 6.7.x through 6.8.7 are affected. The vulnerability is resolved in kernel 6.8.8 and later.
How do I check if my server is vulnerable to CVE-2024-27000?
Run `uname -r` to get your kernel version; if it falls between 6.7.0 and 6.8.7, you are vulnerable. Additionally, check if the MXS UART driver is in use with `lsmod | grep mxs_auart` on ARM-based systems like i.MX28.
Does Defensia detect CVE-2024-27000?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-27000 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/0dc0637e6b16158af85945425821bfd0151adb37
- https://git.kernel.org/stable/c/21535ef0ac1945080198fe3e4347ea498205c99a
- https://git.kernel.org/stable/c/2c9b943e9924cf1269e44289bc5e60e51b0f5270
- https://git.kernel.org/stable/c/479244d68f5d94f3903eced52b093c1e01ddb495
- https://git.kernel.org/stable/c/54c4ec5f8c471b7c1137a1f769648549c423c026
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-27000. Free for 1 server.
Get started free