blob: 107abf46c6279db39c6c2fed9346e5235a9ca0c3 [file] [log] [blame]
From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: <linux-cve-announce@vger.kernel.org>
Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org>
Subject: CVE-2024-27000: serial: mxs-auart: add spinlock around changing cts state
Description
===========
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
(...)
The Linux kernel CVE team has assigned CVE-2024-27000 to this issue.
Affected and fixed versions
===========================
Issue introduced in 3.18 with commit 4d90bb147ef6b91f529a21b498ff2b5fdc6785b4 and fixed in 4.19.313 with commit 56434e295bd446142025913bfdf1587f5e1970ad
Issue introduced in 3.18 with commit 4d90bb147ef6b91f529a21b498ff2b5fdc6785b4 and fixed in 5.4.275 with commit 21535ef0ac1945080198fe3e4347ea498205c99a
Issue introduced in 3.18 with commit 4d90bb147ef6b91f529a21b498ff2b5fdc6785b4 and fixed in 5.10.216 with commit 0dc0637e6b16158af85945425821bfd0151adb37
Issue introduced in 3.18 with commit 4d90bb147ef6b91f529a21b498ff2b5fdc6785b4 and fixed in 5.15.158 with commit 479244d68f5d94f3903eced52b093c1e01ddb495
Issue introduced in 3.18 with commit 4d90bb147ef6b91f529a21b498ff2b5fdc6785b4 and fixed in 6.1.88 with commit 2c9b943e9924cf1269e44289bc5e60e51b0f5270
Issue introduced in 3.18 with commit 4d90bb147ef6b91f529a21b498ff2b5fdc6785b4 and fixed in 6.6.29 with commit 5f40fd6ca2cf0bfbc5a5c9e403dfce8ca899ba37
Issue introduced in 3.18 with commit 4d90bb147ef6b91f529a21b498ff2b5fdc6785b4 and fixed in 6.8.8 with commit 94b0e65c75f4af888ab2dd6c90f060f762924e86
Issue introduced in 3.18 with commit 4d90bb147ef6b91f529a21b498ff2b5fdc6785b4 and fixed in 6.9 with commit 54c4ec5f8c471b7c1137a1f769648549c423c026
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2024-27000
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/tty/serial/mxs-auart.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/56434e295bd446142025913bfdf1587f5e1970ad
https://git.kernel.org/stable/c/21535ef0ac1945080198fe3e4347ea498205c99a
https://git.kernel.org/stable/c/0dc0637e6b16158af85945425821bfd0151adb37
https://git.kernel.org/stable/c/479244d68f5d94f3903eced52b093c1e01ddb495
https://git.kernel.org/stable/c/2c9b943e9924cf1269e44289bc5e60e51b0f5270
https://git.kernel.org/stable/c/5f40fd6ca2cf0bfbc5a5c9e403dfce8ca899ba37
https://git.kernel.org/stable/c/94b0e65c75f4af888ab2dd6c90f060f762924e86
https://git.kernel.org/stable/c/54c4ec5f8c471b7c1137a1f769648549c423c026