Medium severity · published Aug 26, 2024
CVE-2024-43893
serial: core: check uartclk for zero to avoid divide by zero
5.5
CVSS
0.3%
EPSS
No
On KEV
Description
In the Linux kernel, the following vulnerability has been resolved:
serial: core: check uartclk for zero to avoid divide by zero
Calling ioctl TIOCSSERIAL with an invalid baud_base can
result in uartclk being zero, which will result in a
divide by zero error in uart_get_divisor(). The check for
uartclk being zero in uart_set_info() needs to be done
before other settings are made as subsequent calls to
ioctl TIOCSSERIAL for the same port would be impacted if
the uartclk check was done where uartclk gets set.
Oops: divide error: 0000 PREEMPT SMP KASAN PTI
RIP: 0010:uart_get_divisor (drivers/tty/serial/serial_core.c:580)
Call Trace:
<TASK>
serial8250_get_divisor (drivers/tty/serial/8250/8250_port.c:2576
drivers/tty/serial/8250/8250_port.c:2589)
serial8250_do_set_termios (drivers/tty/serial/8250/8250_port.c:502
drivers/tty/serial/8250/8250_port.c:2741)
serial8250_set_termios (drivers/tty/serial/8250/8250_port.c:2862)
uart_change_line_settings (./include/linux/spinlock.h:376
./include/linux/serial_core.h:608 drivers/tty/serial/serial_core.c:222)
uart_port_startup (drivers/tty/serial/serial_core.c:342)
uart_startup (drivers/tty/serial/serial_core.c:368)
uart_set_info (drivers/tty/serial/serial_core.c:1034)
uart_set_info_user (drivers/tty/serial/serial_core.c:1059)
tty_set_serial (drivers/tty/tty_io.c:2637)
tty_ioctl (drivers/tty/tty_io.c:2647 drivers/tty/tty_io.c:2791)
__x64_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:907
fs/ioctl.c:893 fs/ioctl.c:893)
do_syscall_64 (arch/x86/entry/common.c:52
(discriminator 1) arch/x86/entry/common.c:83 (discriminator 1))
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
Rule: add
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
None
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 17% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
KE
Kernel · Linux
before 4.19.320; 4.20 before 5.4.282; 5.5 before 5.10.224; 5.11 before 5.15.165; 5.16 before 6.1.105; 6.2 before 6.6.46; +3 more · source: NVD
LI
Linux · Linux
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 3bbd90fca824e6fd61fb20f6dd2b0fa5f8b14bba; 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 55b2a5d331a6ceb1c4372945fdb77181265ba24f; 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 52b138f1021113e593ee6ad258ce08fe90693a9e; 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 9196e42a3b8eeff1707e6ef769112b4b6096be49; 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before e13ba3fe5ee070f8a9dab60029d52b1f61da5051; 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before e3ad503876283ac3fcca922a1bf243ef9eb0b0e2; +3 more · source: vendor
RR
RUGGEDCOM RST2428P · Siemens
before V3.1 · source: CISA
SX
SCALANCE XCM-/XRM-/XCH-/XRH-300 family · Siemens
before V3.1 · source: CISA
SS
SIMATIC S7-1500 TM MFP - GNU/Linux subsystem · Siemens
before V1.1.1 · source: CISA
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2024-43893
CVE.org
https://www.cve.org/CVERecord?id=CVE-2024-43893
Patch
https://git.kernel.org/stable/c/3bbd90fca824e6fd61fb20f6dd2b0fa5f8b14bba
Patch
https://git.kernel.org/stable/c/52b138f1021113e593ee6ad258ce08fe90693a9e
Patch
https://git.kernel.org/stable/c/55b2a5d331a6ceb1c4372945fdb77181265ba24f
Patch
https://git.kernel.org/stable/c/68dc02f319b9ee54dc23caba742a5c754d1cccc8
Patch
https://git.kernel.org/stable/c/6eabce6608d6f3440f4c03aa3d3ef50a47a3d193
Patch
https://git.kernel.org/stable/c/9196e42a3b8eeff1707e6ef769112b4b6096be49
More from Kernel
9.8
CVE-2025-39682
tls: fix handling of zero-length records on the rx_list
8.8
CVE-2026-53266
netfilter: bridge: make ebt_snat ARP rewrite writable
8.8
CVE-2013-6282
Linux Kernel Improper Input Validation Vulnerability
8.4
CVE-2022-0185
Linux Kernel Heap-Based Buffer Overflow Vulnerability
8.4
CVE-2013-2094
Linux Kernel Privilege Escalation Vulnerability
