CVE-2026-23472: serial: core: fix infinite loop in handle_tx() for PORT_UNKNOWN

Published Apr 3, 2026
·
Updated

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

serial: core: fix infinite loop in handletx() for PORTUNKNOWN

uartwriteroom() and uartwrite() behave inconsistently when xmitbuf is NULL (which happens for PORTUNKNOWN ports that were never properly initialized):

- uartwriteroom() returns kfifoavail() which can be > 0 - uartwrite() checks xmitbuf and returns 0 if NULL

This inconsistency causes an infinite loop in drivers that rely on ttywriteroom() to determine if they can write:

while (ttywriteroom(tty) > 0) { written = tty->ops->write(...); // written is always 0, loop never exits }

For example, caifserial's handletx() enters an infinite loop when used with PORTUNKNOWN serial ports, causing system hangs.

Fix by making uartwriteroom() also check xmitbuf and return 0 if it's NULL, consistent with uartwrite().

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

Affected Software

12 affected components
The Linux Foundation Linux Kernel
Linux Linux kernel>=2.6.12.1<6.18.20
Linux Linux kernel>=6.19<6.19.10
Linux Linux kernel=2.6.12
Linux Linux kernel=2.6.12-rc2
Linux Linux kernel=2.6.12-rc3
Linux Linux kernel=2.6.12-rc4
Linux Linux kernel=2.6.12-rc5
Linux Linux kernel=7.0-rc1
Linux Linux kernel=7.0-rc2
Linux Linux kernel=7.0-rc3
Linux Linux kernel=7.0-rc4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Apply the kernel serial-core fix so that uart_write_room() checks xmit_buf and returns 0 if it is NULL, matching uart_write(). This prevents infinite loops in drivers/paths such as serial core handle_tx() for PORT_UNKNOWN ports where xmit_buf is never properly initialized.

    Linux kernel serial core uart_write_room() behavior when xmit_buf is NULL = return 0 when xmit_buf is NULL (and ensure tty_write_room/handle_tx loops terminate)

Event History

Apr 3, 2026
CVE Published
via MITRE·03:15 PM
Data Sourced
via MITRE·03:15 PM
Description
Data Sourced
via NVD·04:16 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-23472?

CVE-2026-23472 is classified as a medium severity vulnerability due to its potential impact on system stability.

2

How do I fix CVE-2026-23472?

To fix CVE-2026-23472, ensure you update your Linux kernel to a version that includes the patch addressing this infinite loop issue.

3

What systems are affected by CVE-2026-23472?

CVE-2026-23472 affects the Linux kernel, particularly in instances where serial communication is utilized.

4

What is the nature of the vulnerability in CVE-2026-23472?

CVE-2026-23472 involves an infinite loop in the handle_tx() function when dealing with PORT_UNKNOWN, which can lead to system hangs.

5

When was CVE-2026-23472 reported or discovered?

CVE-2026-23472 was reported as part of a series of fixes in the Linux kernel addressing various stability issues.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203