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
(...)
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/tty/serial/mxs-auart.c"
],
"versions": [
{
"version": "4d90bb147ef6",
"lessThan": "56434e295bd4",
"status": "affected",
"versionType": "git"
},
{
"version": "4d90bb147ef6",
"lessThan": "21535ef0ac19",
"status": "affected",
"versionType": "git"
},
{
"version": "4d90bb147ef6",
"lessThan": "0dc0637e6b16",
"status": "affected",
"versionType": "git"
},
{
"version": "4d90bb147ef6",
"lessThan": "479244d68f5d",
"status": "affected",
"versionType": "git"
},
{
"version": "4d90bb147ef6",
"lessThan": "2c9b943e9924",
"status": "affected",
"versionType": "git"
},
{
"version": "4d90bb147ef6",
"lessThan": "5f40fd6ca2cf",
"status": "affected",
"versionType": "git"
},
{
"version": "4d90bb147ef6",
"lessThan": "94b0e65c75f4",
"status": "affected",
"versionType": "git"
},
{
"version": "4d90bb147ef6",
"lessThan": "54c4ec5f8c47",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/tty/serial/mxs-auart.c"
],
"versions": [
{
"version": "3.18",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.18",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.313",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.275",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.216",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.158",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.88",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.29",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.8.8",
"lessThanOrEqual": "6.8.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.9",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/0dc0637e6b16158af85945425821bfd0151adb37
git.kernel.org/stable/c/21535ef0ac1945080198fe3e4347ea498205c99a
git.kernel.org/stable/c/2c9b943e9924cf1269e44289bc5e60e51b0f5270
git.kernel.org/stable/c/479244d68f5d94f3903eced52b093c1e01ddb495
git.kernel.org/stable/c/54c4ec5f8c471b7c1137a1f769648549c423c026
git.kernel.org/stable/c/56434e295bd446142025913bfdf1587f5e1970ad
git.kernel.org/stable/c/5f40fd6ca2cf0bfbc5a5c9e403dfce8ca899ba37
git.kernel.org/stable/c/94b0e65c75f4af888ab2dd6c90f060f762924e86
lists.debian.org/debian-lts-announce/2024/06/msg00017.html