Skip to main content

Linux CVE-2026-23472

| EUVDEUVD-2026-18745 MEDIUM
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-04-03 Linux
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
SUSE
MEDIUM
qualitative
Red Hat
5.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
CVSS changed
May 26, 2026 - 14:37 NVD
5.5 (MEDIUM)
Patch available
Apr 16, 2026 - 05:29 EUVD
455ce986fa356ff43a43c0d363ba95fa152f21d5
EUVD ID Assigned
Apr 03, 2026 - 15:30 euvd
EUVD-2026-18745
Analysis Generated
Apr 03, 2026 - 15:30 vuln.today
CVE Published
Apr 03, 2026 - 15:15 nvd
N/A

DescriptionCVE.org

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

AnalysisAI

Infinite loop in Linux kernel serial core driver handle_tx() affects systems using uninitialized PORT_UNKNOWN serial ports, where uart_write_room() and uart_write() behave inconsistently regarding null transmit buffers, causing denial of service through system hangs. The vulnerability impacts caif_serial and other drivers that rely on tty_write_room() to determine write capacity. Patch available in upstream kernel commits; no CVSS score assigned due to kernel-specific nature and relatively limited exposure scope.

Technical ContextAI

The Linux kernel serial core (drivers/tty/serial/serial_core.c) provides uart_write_room() and uart_write() functions that interact with the transmit FIFO buffer (xmit_buf). When a serial port is in PORT_UNKNOWN state (uninitialized), xmit_buf remains NULL. The root cause is a logic inconsistency: uart_write_room() invokes kfifo_avail() which returns available FIFO space even when xmit_buf is NULL, while uart_write() explicitly checks for NULL xmit_buf and returns 0 bytes written. This inconsistency (CWE-835: Infinite Loop) causes callers in higher-level drivers like caif_serial to enter infinite loops when checking write availability. The underlying issue stems from inadequate state validation in the tty layer's write path for uninitialized serial ports.

RemediationAI

Vendor-released patch: kernel commit efe85a557186b7fe915572ae93a8f3f78bfd9a22 (and backports bc70f2b36cf474d5cc8ecbcaf57f3e326fdec67c, 455ce986fa356ff43a43c0d363ba95fa152f21d5) resolves the issue by modifying uart_write_room() to check xmit_buf and return 0 if NULL, making behavior consistent with uart_write(). Systems administrators should update to a kernel version containing the referenced commit from git.kernel.org/stable. Interim workarounds include avoiding serial I/O operations on uninitialized PORT_UNKNOWN ports or implementing explicit state validation in calling drivers prior to write operations. Full patch details and stable kernel versions containing the fix are available at the referenced git.kernel.org stable commits.

Vendor StatusVendor

SUSE

Severity: Medium
Product Status
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.145 Container suse/sl-micro/6.1/base-os-container:2.2.1-5.132 Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.162 Container suse/sl-micro/6.1/kvm-os-container:2.2.1-5.132 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.176 Container suse/sl-micro/6.1/rt-os-container:2.2.1-5.125 Affected
Image SLES-Azure-Basic Image SLES-EC2 Image SLES-Hardened-BYOS-Azure Image SLES-SAPCAL-Azure Affected
Image SLES12-SP5-Azure-BYOS Image SLES12-SP5-EC2-BYOS Image SLES12-SP5-EC2-ECS-On-Demand Image SLES12-SP5-EC2-On-Demand Image SLES12-SP5-GCE-BYOS Image SLES12-SP5-GCE-On-Demand Affected

Share

CVE-2026-23472 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy