CVE-2026-97480

tty: serial: 8250: protect against NULL uart->port.dev in register

State
Published
Severity
Not scored
Published
Sep 24, 2026
Updated
Oct 30, 2026
Reserved
Sep 24, 2026

Read the record on cve.org

Description

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

tty: serial: 8250: protect against NULL uart->port.dev in register

serial8250_register_8250_port() conditionally copies uart->port.dev from up->port.dev only when up->port.dev is non-NULL:

if (up->port.dev) { uart->port.dev = up->port.dev; ... }

So if both the existing uart slot and up have a NULL ->dev, uart->port.dev remains NULL. The very next ACPI companion check then dereferences it unconditionally:

if (!has_acpi_companion(uart->port.dev)) {

has_acpi_companion() reads dev->fwnode without a NULL guard (include/linux/acpi.h), so this NULL-derefs the kernel for the remaining no-dev case rather than just skipping the mctrl_gpio_init() initialisation as intended.

smatch flags the inconsistency:

drivers/tty/serial/8250/8250_core.c:767 serial8250_register_8250_port() error: 'uart->port.dev' could be null (see line 719)

Guard the call with a NULL check so register continues to work for callers that legitimately have no parent device (legacy non-OF/non-ACPI registrations).

No functional change for callers that pass a non-NULL ->dev.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 4a96895f74c9633b51427fd080ab70fa62b65bc4 to before f728f7f38a6eca16923c72fc6826445810d2b41fAffected
  • 4a96895f74c9633b51427fd080ab70fa62b65bc4 to before 68059b6e9f7292714286e2b0f5185ed2a43fccc5Affected
  • 4a96895f74c9633b51427fd080ab70fa62b65bc4 to before 9c78f89cf2fbae18b14c78bf172ca15d832aff15Affected
  • 4a96895f74c9633b51427fd080ab70fa62b65bc4 to before 5cbab666721d974bfe033a12045d808936deaefdAffected
  • 4a96895f74c9633b51427fd080ab70fa62b65bc4 to before 941c9f84c9b6310f7aaa1c8c785dcc634ee33050Affected
LinuxLinux
  • 5.3Affected
  • before 5.3Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.114 through 6.12.*Not affected
  • 6.18.53 through 6.18.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.