CVE-2023-54220
Linux Kernel vulnerability analysis and mitigation

Overview

CVE-2023-54220 is a kernel oops (null/stale pointer dereference) vulnerability in the Linux kernel's 8250 serial driver, specifically in the uart_change_pm() code path. When a hardware-specific 8250 driver is unloaded, the port->pm function pointer is not cleared, causing serial8250_pm() to call the now-invalid port->pm() instead of serial8250_do_pm() approximately ten seconds later when uart_hangup() triggers uart_change_pm(). This results in a kernel panic with the message "Unable to handle kernel paging request at virtual address." The vulnerability was published on December 30, 2025, and affects multiple stable Linux kernel branches. No CVSS score has been formally assigned; Feedly estimates the severity as Medium with an EPSS score of 0.000240 (Feedly, ENISA EUVD).

Technical details

The root cause is an incomplete cleanup of the port->pm function pointer when a hardware-specific 8250 UART driver is unbound (CWE-825: Expired Pointer Dereference / use-after-free of a function pointer). Commit 04e82793f068 ("serial: 8250: Reinit port->pm on port specific driver unbind") only reinitializes port->ops but does not clear port->pm. When the driver is subsequently unloaded and uart_hangup() calls uart_change_pm(), serial8250_pm() checks port->pm and, finding it non-NULL, calls the now-dangling function pointer, triggering a kernel oops. The fix requires explicitly setting port->pm = NULL during driver unbind so that serial8250_pm() falls back to serial8250_do_pm() (Feedly, Kernel Fix 6.4.x).

Impact

Successful triggering of this vulnerability causes a kernel panic (oops) on the affected system, resulting in a denial of service — the system crashes or becomes unresponsive. The impact is limited to availability; there is no evidence of confidentiality or integrity compromise, and no known path to privilege escalation or remote code execution. The vulnerability requires local access to load and unload a hardware-specific 8250 serial driver, limiting the affected asset scope to systems with such hardware and driver management privileges (Feedly).

Mitigation and workarounds

The Linux kernel stable team has released fixes across multiple stable branches: 4.14.324, 4.19.293, 5.4.255, 5.10.192, 5.15.128, 6.1.47, 6.4.12, and 6.5+. Administrators should update to a patched kernel version for their respective stable branch. The fix involves clearing port->pm to NULL during hardware-specific 8250 driver unbind, ensuring serial8250_pm() correctly falls back to serial8250_do_pm() (Feedly, ENISA EUVD). As a workaround, avoiding unloading hardware-specific 8250 drivers on production systems can prevent the oops from being triggered.

Additional resources


SourceThis report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-64557NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-rt-selftests-internal
NoNoJul 29, 2026
CVE-2026-64556NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-64k-devel
NoNoJul 29, 2026
CVE-2026-64555NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-azure-fde-6.14
NoNoJul 27, 2026
CVE-2026-64554NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-gcp-6.14
NoYesJul 27, 2026
CVE-2026-64553NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-rt-64k-debug-modules-internal
NoYesJul 27, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management