CVE-2026-23472CWE-835

CVE-2026-23472

Medium · published April 3, 2026

CVSS v3.1
5.5
EPSS
0%
Percentile
1.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

serial: core: fix infinite loop in handle_tx() for PORT_UNKNOWN

uart_write_room() and uart_write() behave inconsistently when

xmit_buf is NULL (which happens for PORT_UNKNOWN ports that were

never properly initialized):

- uart_write_room() returns kfifo_avail() which can be > 0

- uart_write() checks xmit_buf and returns 0 if NULL

This inconsistency causes an infinite loop in drivers that rely on

tty_write_room() to determine if they can write:

while (tty_write_room(tty) > 0) {

written = tty->ops->write(...);

// written is always 0, loop never exits

}

For example, caif_serial's handle_tx() enters an infinite loop when

used with PORT_UNKNOWN serial ports, causing system hangs.

Fix by making uart_write_room() also check xmit_buf and return 0 if

it's NULL, consistent with uart_write().

Reproducer: https://gist.github.com/mrpre/d9a694cc0e19828ee3bc3b37983fde13

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00122 · 1.9th percentile
Weakness
CWE-835 · Loop with Unreachable Exit Condition ('Infinite Loop')
Published
2026-04-03T20:16Z
Affected products (11)
ProductVersionsFixed in
linux/linux_kernel≥ 2.6.12.1, < 6.18.206.18.20
linux/linux_kernel≥ 6.19, < 6.19.106.19.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (5)
EPSS history
Timeline
  • 03 APR 15:15Z
    serial: core: fix infinite loop in handle_tx() for PORT_UNKNOWN
    cvelistv5