| 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-38634: serial: max3100: Lock port->lock when calling uart_handle_cts_change() |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| serial: max3100: Lock port->lock when calling uart_handle_cts_change() |
| |
| uart_handle_cts_change() has to be called with port lock taken, |
| Since we run it in a separate work, the lock may not be taken at |
| the time of running. Make sure that it's taken by explicitly doing |
| that. Without it we got a splat: |
| |
| WARNING: CPU: 0 PID: 10 at drivers/tty/serial/serial_core.c:3491 uart_handle_cts_change+0xa6/0xb0 |
| ... |
| Workqueue: max3100-0 max3100_work [max3100] |
| RIP: 0010:uart_handle_cts_change+0xa6/0xb0 |
| ... |
| max3100_handlerx+0xc5/0x110 [max3100] |
| max3100_work+0x12a/0x340 [max3100] |
| |
| The Linux kernel CVE team has assigned CVE-2024-38634 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 2.6.30 with commit 7831d56b0a3544cbb6f82f76c34ca95e24d5b676 and fixed in 4.19.316 with commit 44b38924135d2093e2ec1812969464845dd66dc9 |
| Issue introduced in 2.6.30 with commit 7831d56b0a3544cbb6f82f76c34ca95e24d5b676 and fixed in 5.4.278 with commit ea9b35372b58ac2931bfc1d5bc25e839d1221e30 |
| Issue introduced in 2.6.30 with commit 7831d56b0a3544cbb6f82f76c34ca95e24d5b676 and fixed in 5.10.219 with commit cc121e3722a0a2c8f716ef991e5425b180a5fb94 |
| Issue introduced in 2.6.30 with commit 7831d56b0a3544cbb6f82f76c34ca95e24d5b676 and fixed in 5.15.161 with commit 78dbda51bb4241b88a52d71620f06231a341f9ba |
| Issue introduced in 2.6.30 with commit 7831d56b0a3544cbb6f82f76c34ca95e24d5b676 and fixed in 6.1.93 with commit 8296bb9e5925b6634259c5d4daee88f0cc0884ec |
| Issue introduced in 2.6.30 with commit 7831d56b0a3544cbb6f82f76c34ca95e24d5b676 and fixed in 6.6.33 with commit 93df2fba6c7dfa9a2f08546ea9a5ca4728758458 |
| Issue introduced in 2.6.30 with commit 7831d56b0a3544cbb6f82f76c34ca95e24d5b676 and fixed in 6.9.4 with commit 865b30c8661924ee9145f442bf32cea549faa869 |
| Issue introduced in 2.6.30 with commit 7831d56b0a3544cbb6f82f76c34ca95e24d5b676 and fixed in 6.10 with commit 77ab53371a2066fdf9b895246505f5ef5a4b5d47 |
| |
| 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-38634 |
| 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/max3100.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/44b38924135d2093e2ec1812969464845dd66dc9 |
| https://git.kernel.org/stable/c/ea9b35372b58ac2931bfc1d5bc25e839d1221e30 |
| https://git.kernel.org/stable/c/cc121e3722a0a2c8f716ef991e5425b180a5fb94 |
| https://git.kernel.org/stable/c/78dbda51bb4241b88a52d71620f06231a341f9ba |
| https://git.kernel.org/stable/c/8296bb9e5925b6634259c5d4daee88f0cc0884ec |
| https://git.kernel.org/stable/c/93df2fba6c7dfa9a2f08546ea9a5ca4728758458 |
| https://git.kernel.org/stable/c/865b30c8661924ee9145f442bf32cea549faa869 |
| https://git.kernel.org/stable/c/77ab53371a2066fdf9b895246505f5ef5a4b5d47 |