Cloudanix VulnDB

CVE-2024-27000

None

CVSS

—

EPSS

0.3%

Published

May 1, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A missing lock in the Linux kernel's serial driver for certain chips can cause crashes or errors during Bluetooth use on affected devices.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Race Condition
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Missing spinlock protection around CTS state changes in mxs-auart serial driver allows uart_handle_cts_change to be invoked without uport->lock held, triggering kernel warnings and potential race conditions during IRQ handling.

Why it matters to the business

Systems using affected Linux kernels on i.MX28 or similar hardware may experience kernel instability, warnings, or crashes during Bluetooth or serial operations, increasing downtime risk especially in embedded or industrial deployments with high prevalence of kernel dependents.

How an attack unfolds

An attacker with local access or ability to trigger serial/Bluetooth events loads a driver that exercises mxs_auart_irq_handle without proper locking, leading to the observed splat in uart_handle_cts_change; no public exploits known but race condition family allows potential for denial-of-service or escalation if combined with other flaws.

How to fix it

Update Linux kernel to commit 56434e295bd446142025913bfdf1587f5e1970ad or later stable version containing the spinlock addition around CTS state changes in drivers/tty/serial/mxs-auart.c.

How to confirm the fix worked

Verify kernel source contains the spinlock around uart_handle_cts_change calls in mxs_auart_irq_handle; test by loading hci_uart on i.MX28 hardware and confirming absence of the WARNING splat in dmesg.

Typical attack path

  1. Identify system running vulnerable mxs-auart driver on supported hardware
  2. Trigger Bluetooth power-on or serial CTS state changes via hci_uart or similar
  3. Invoke IRQ path in mxs_auart_irq_handle without lock acquisition
  4. Call uart_handle_cts_change concurrently to produce race and warning
  5. Escalate to kernel panic or DoS if timing allows further corruption

How to detect it

Search kernel logs for the exact WARNING from serial_core.c:3453 uart_handle_cts_change and stack trace referencing mxs_auart_irq_handle; correlate with Bluetooth driver load events in dmesg or syslog on i.MX28 boards.

  • WARNING: CPU:.* at .*serial_core.c:3453 uart_handle_cts_change
  • mxs_auart_irq_handle from __handle_irq_event_percpu
  • Workqueue: hci0 hci_power_on [bluetooth]
  • Modules linked in: hci_uart bluetooth

What your security team should do

  • Prioritize kernel upgrade to fixed commit 56434e295bd446142025913bfdf1587f5e1970ad within 30 days given 896 days since publication
  • Monitor EPSS trend (stable at 0.0033) and apply patches to all embedded Linux distributions using mxs-auart
  • Restrict untrusted local access on affected hardware until patched to reduce race triggering surface

The record

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 (...)

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 linux-5.10 0 5.10.216-1~deb10u1
Debian:11 linux 0 5.10.216-1
Debian:12 linux 0 6.1.90-1
Debian:13 linux 0 6.8.9-1
Linux Kernel 3.18.0 4.19.313
Mageia:9 dwarves 0 1.27-1.mga9
Mageia:9 kernel 0 6.6.37-1.mga9
Mageia:9 kernel-linus 0 6.6.37-1.mga9
Mageia:9 kmod-virtualbox 0 7.0.18-50.mga9
Mageia:9 kmod-xtables-addons 0 3.24-59.mga9
SUSE:Linux Enterprise High Availability Extension 15 SP5 kernel-default 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.7.3
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-default 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-livepatch-SLE15-SP5-RT_Update_16 0 1-150500.11.3.1
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_15 0 1-150500.11.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.7.3
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_1 0 1-150600.1.5.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_1 0 1-150600.13.3.7
SUSE:Linux Enterprise Micro 5.5 kernel-default 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Micro 5.5 kernel-default-base 0 5.14.21-150500.55.68.1.150500.6.31.1
SUSE:Linux Enterprise Micro 5.5 kernel-rt 0 5.14.21-150500.13.58.1
SUSE:Linux Enterprise Micro 5.5 kernel-source-rt 0 5.14.21-150500.13.58.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-64kb 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-default 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-default-base 0 5.14.21-150500.55.68.1.150500.6.31.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-source 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-zfcpdump 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.7.3
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.7.3
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.7.3.150600.12.2.7
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.7.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.7.3
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-docs 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-obs-build 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-source 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-syms 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.7.4
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.7.3
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.7.2
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.7.1
SUSE:Linux Enterprise Module for Legacy 15 SP5 kernel-default 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.7.3
SUSE:Linux Enterprise Module for Public Cloud 15 SP5 kernel-azure 0 5.14.21-150500.33.57.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP5 kernel-source-azure 0 5.14.21-150500.33.57.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP5 kernel-syms-azure 0 5.14.21-150500.33.57.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.5.4
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.5.4
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.5.1
SUSE:Linux Enterprise Workstation Extension 15 SP5 kernel-default 0 5.14.21-150500.55.68.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.7.3
SUSE:Real Time Module 15 SP5 kernel-rt 0 5.14.21-150500.13.58.1
SUSE:Real Time Module 15 SP5 kernel-rt_debug 0 5.14.21-150500.13.58.1
SUSE:Real Time Module 15 SP5 kernel-source-rt 0 5.14.21-150500.13.58.1
SUSE:Real Time Module 15 SP5 kernel-syms-rt 0 5.14.21-150500.13.58.1
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.5.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.5.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.5.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.5.1
Ubuntu:14.04:LTS linux 0 3.11.0-12.19
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux-aws-5.0 0 No fix
Ubuntu:18.04:LTS linux-aws-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 No fix
Ubuntu:18.04:LTS linux-gkeop-5.4 0 No fix
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:20.04:LTS linux 0 5.4.0-189.209
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1128.138
Ubuntu:20.04:LTS linux-aws-5.11 0 No fix
Ubuntu:20.04:LTS linux-aws-5.13 0 No fix
Ubuntu:20.04:LTS linux-aws-5.15 0 5.15.0-1065.71~20.04.1
Ubuntu:20.04:LTS linux-aws-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1133.140
Ubuntu:20.04:LTS linux-azure-5.11 0 No fix
Ubuntu:20.04:LTS linux-azure-5.13 0 No fix
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1068.77~20.04.1
Ubuntu:20.04:LTS linux-azure-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:20.04:LTS linux-azure-fde-5.15 0 5.15.0-1068.77~20.04.1.1
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1088.95
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1132.141
Ubuntu:20.04:LTS linux-gcp-5.11 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.13 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.15 0 5.15.0-1065.73~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.8 0 No fix
Ubuntu:20.04:LTS linux-gke 0 No fix
Ubuntu:20.04:LTS linux-gke-5.15 0 No fix
Ubuntu:20.04:LTS linux-gkeop 0 5.4.0-1095.99
Ubuntu:20.04:LTS linux-gkeop-5.15 0 5.15.0-1048.55~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.11 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.13 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.15 0 5.15.0-116.126~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.8 0 No fix
Ubuntu:20.04:LTS linux-ibm 0 5.4.0-1075.80
Ubuntu:20.04:LTS linux-ibm-5.15 0 5.15.0-1058.61~20.04.1
Ubuntu:20.04:LTS linux-intel-5.13 0 No fix
Ubuntu:20.04:LTS linux-intel-iotg-5.15 0 5.15.0-1060.66~20.04.1
Ubuntu:20.04:LTS linux-iot 0 5.4.0-1040.41
Ubuntu:20.04:LTS linux-kvm 0 5.4.0-1116.123
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 5.15.0-116.126~20.04.1
Ubuntu:20.04:LTS linux-nvidia-tegra-5.15 0 5.15.0-1027.27~20.04.1
Ubuntu:20.04:LTS linux-oem-5.10 0 No fix
Ubuntu:20.04:LTS linux-oem-5.13 0 No fix
Ubuntu:20.04:LTS linux-oem-5.14 0 No fix
Ubuntu:20.04:LTS linux-oem-5.6 0 No fix
Ubuntu:20.04:LTS linux-oracle 0 5.4.0-1127.136
Ubuntu:20.04:LTS linux-oracle-5.11 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.13 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.15 0 5.15.0-1063.69~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.8 0 No fix
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1112.124
Ubuntu:20.04:LTS linux-raspi2 0 No fix
Ubuntu:20.04:LTS linux-riscv 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.11 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.15 0 5.15.0-1061.65~20.04.1
Ubuntu:20.04:LTS linux-riscv-5.8 0 No fix
Ubuntu:20.04:LTS linux-xilinx-zynqmp 0 5.4.0-1047.51
Ubuntu:22.04:LTS linux 0 5.15.0-116.126
Ubuntu:22.04:LTS linux-allwinner-5.19 0 No fix
Ubuntu:22.04:LTS linux-aws 0 5.15.0-1065.71
Ubuntu:22.04:LTS linux-aws-5.19 0 No fix
Ubuntu:22.04:LTS linux-aws-6.2 0 No fix
Ubuntu:22.04:LTS linux-aws-6.5 0 No fix
Ubuntu:22.04:LTS linux-aws-6.8 0 6.8.0-1011.12~22.04.1
Ubuntu:22.04:LTS linux-azure 0 5.15.0-1068.77
Ubuntu:22.04:LTS linux-azure-5.19 0 No fix
Ubuntu:22.04:LTS linux-azure-6.2 0 No fix
Ubuntu:22.04:LTS linux-azure-6.5 0 No fix
Ubuntu:22.04:LTS linux-azure-6.8 0 6.8.0-1010.10~22.04.1
Ubuntu:22.04:LTS linux-azure-fde 0 5.15.0-1068.77.1
Ubuntu:22.04:LTS linux-azure-fde-5.19 0 No fix
Ubuntu:22.04:LTS linux-azure-fde-6.2 0 No fix
Ubuntu:22.04:LTS linux-gcp 0 5.15.0-1064.72
Ubuntu:22.04:LTS linux-gcp-5.19 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.2 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.5 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.8 0 6.8.0-1010.11~22.04.1
Ubuntu:22.04:LTS linux-gke 0 5.15.0-1062.68
Ubuntu:22.04:LTS linux-gkeop 0 5.15.0-1048.55
Ubuntu:22.04:LTS linux-hwe-5.19 0 No fix
Ubuntu:22.04:LTS linux-hwe-6.2 0 No fix
Ubuntu:22.04:LTS linux-hwe-6.5 0 No fix
Ubuntu:22.04:LTS linux-hwe-6.8 0 6.8.0-38.38~22.04.1
Ubuntu:22.04:LTS linux-ibm 0 5.15.0-1058.61
Ubuntu:22.04:LTS linux-intel-iot-realtime 0 No fix
Ubuntu:22.04:LTS linux-intel-iotg 0 5.15.0-1060.66
Ubuntu:22.04:LTS linux-kvm 0 5.15.0-1062.67
Ubuntu:22.04:LTS linux-lowlatency 0 5.15.0-116.126
Ubuntu:22.04:LTS linux-lowlatency-hwe-5.19 0 No fix
Ubuntu:22.04:LTS linux-lowlatency-hwe-6.2 0 No fix
Ubuntu:22.04:LTS linux-lowlatency-hwe-6.5 0 No fix
Ubuntu:22.04:LTS linux-lowlatency-hwe-6.8 0 6.8.0-38.38.1~22.04.2
Ubuntu:22.04:LTS linux-nvidia 0 5.15.0-1060.61
Ubuntu:22.04:LTS linux-nvidia-6.2 0 No fix
Ubuntu:22.04:LTS linux-nvidia-6.5 0 No fix
Ubuntu:22.04:LTS linux-nvidia-6.8 0 6.8.0-1009.9~22.04.1
Ubuntu:22.04:LTS linux-nvidia-tegra 0 5.15.0-1026.26
Ubuntu:22.04:LTS linux-nvidia-tegra-igx 0 5.15.0-1015.15
Ubuntu:22.04:LTS linux-oem-5.17 0 No fix
Ubuntu:22.04:LTS linux-oem-6.0 0 No fix
Ubuntu:22.04:LTS linux-oem-6.1 0 No fix
Ubuntu:22.04:LTS linux-oem-6.5 0 No fix
Ubuntu:22.04:LTS linux-oracle 0 5.15.0-1063.69
Ubuntu:22.04:LTS linux-oracle-6.5 0 No fix
Ubuntu:22.04:LTS linux-oracle-6.8 0 6.8.0-1008.8~22.04.1
Ubuntu:22.04:LTS linux-raspi 0 5.15.0-1058.61
Ubuntu:22.04:LTS linux-realtime 0 No fix
Ubuntu:22.04:LTS linux-riscv 0 No fix
Ubuntu:22.04:LTS linux-riscv-5.19 0 No fix
Ubuntu:22.04:LTS linux-riscv-6.5 0 No fix
Ubuntu:22.04:LTS linux-riscv-6.8 0 6.8.0-38.38.1~22.04.1
Ubuntu:22.04:LTS linux-starfive-5.19 0 No fix
Ubuntu:22.04:LTS linux-starfive-6.2 0 No fix
Ubuntu:22.04:LTS linux-starfive-6.5 0 No fix
Ubuntu:22.04:LTS linux-xilinx-zynqmp 0 No fix
Ubuntu:22.04:LTS linux-xilinx-zynqmp 0 5.15.0-1035.39
Ubuntu:22.04:LTS:for:NVIDIA:BlueField linux-bluefield 0 No fix
Ubuntu:24.04:LTS linux 0 6.8.0-38.38
Ubuntu:24.04:LTS linux-aws 0 6.8.0-1011.12
Ubuntu:24.04:LTS linux-azure 0 6.8.0-1010.10
Ubuntu:24.04:LTS linux-gcp 0 6.8.0-1010.11
Ubuntu:24.04:LTS linux-gke 0 6.8.0-1006.9
Ubuntu:24.04:LTS linux-gkeop 0 6.8.0-1001.3
Ubuntu:24.04:LTS linux-ibm 0 6.8.0-1008.8
Ubuntu:24.04:LTS linux-intel 0 6.8.0-1007.14
Ubuntu:24.04:LTS linux-lowlatency 0 6.8.0-38.38.1
Ubuntu:24.04:LTS linux-nvidia 0 6.8.0-1009.9
Ubuntu:24.04:LTS linux-nvidia-lowlatency 0 6.8.0-1009.9.1
Ubuntu:24.04:LTS linux-oem-6.11 0 6.11.0-1007.7
Ubuntu:24.04:LTS linux-oem-6.8 0 6.8.0-1008.8
Ubuntu:24.04:LTS linux-oracle 0 6.8.0-1008.8

Related vulnerabilities