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.
Published: 2026-09-24
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Kernel crash leading to denial of service
Action: Immediate patch
AI Analysis

Impact

In the Linux kernel, the serial8250_register_8250_port function only copies a device pointer when it is non‑NULL, leaving uart->port.dev as NULL if both the existing slot and the new port have no parent device. The very next call to has_acpi_companion dereferences dev->fwnode without a NULL guard, causing a null pointer dereference that crashes the kernel and results in a denial of service. This flaw manifests during serial port registration on machines that use legacy or non‑ACPI driver configurations.

Affected Systems

The vulnerability is confined to the Linux kernel’s serial8250 driver. Any distribution that includes an unpatched instance of this driver—i.e., any kernel version before the patch that eliminates the unguarded dereference—may be affected. Vendors that ship kernels with the legacy serial port configuration enabled, particularly those that allow serial ports to be registered without a parent device, are at risk.

Risk and Exploitability

Exploitation requires the ability to register a serial port via a driver or ACPI interface, a privilege that is normally local or requires a kernel module. An attacker who obtains such ability can trigger the NULL dereference and crash the kernel, achieving a complete denial of service. The CVSS score of 5.5 indicates moderate severity, and the EPSS score is <1%, indicating a very low probability of exploitation. CISA does not list this vulnerability in KEV, which suggests no confirmed active exploitation. Nevertheless, the potential impact of a kernel crash is substantial, and the exploitability is enabled by an engineering oversight rather than a complex attack vector.

Generated by OpenCVE AI on October 1, 2026 at 12:16 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest kernel patch that fixes the null‑pointer dereference in drivers/tty/serial/8250/8250_core.c
  • If you cannot update the kernel immediately, remove or disable any legacy serial ports that register without a parent device until the patch is applied
  • Verify that all serial devices have a valid parent device (for example, by ensuring ACPI or OF nodes are correctly defined) to avoid the situation where uart->port.dev remains NULL

Generated by OpenCVE AI on October 1, 2026 at 12:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 30 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low


Fri, 25 Sep 2026 02:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Thu, 24 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
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.
Title tty: serial: 8250: protect against NULL uart->port.dev in register
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-28T05:30:10.139Z

Reserved: 2026-09-24T16:01:01.149Z

Link: CVE-2026-97480

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T17:17:25.467

Modified: 2026-09-28T06:16:34.003

Link: CVE-2026-97480

cve-icon Redhat

Severity : Low

Publid Date: 2026-09-24T00:00:00Z

Links: CVE-2026-97480 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T12:30:07Z

Weaknesses