CVE-2023-54220: serial: 8250: Fix oops for port->pm on uart_change_pm()
In the Linux kernel, the following vulnerability has been resolved:
serial: 8250: Fix oops for port->pm on uart_change_pm()
Unloading a hardware specific 8250 driver can produce error "Unable to
handle kernel paging request at virtual address" about ten seconds after
unloading the driver. This happens on uart_hangup() calling
uart_change_pm().
Turns out commit 04e82793f068 ("serial: 8250: Reinit port->pm on port
specific driver unbind") was only a partial fix. If the hardware specific
driver has initialized port->pm function, we need to clear port->pm too.
Just reinitializing port->ops does not do this. Otherwise serial8250_pm()
will call port->pm() instead of serial8250_do_pm().
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel crash bug in the 8250 serial driver path. If a hardware-specific 8250 driver is unloaded, stale power-management callback state can later be used and trigger a kernel oops. The available sources describe reliability impact, not data theft or remote compromise.
Executive priority
Treat this as a targeted availability and stability issue. Prioritize patching systems where serial hardware is business-critical, dynamically managed, or embedded in operational environments. Broad emergency response is not supported by the available evidence.
Technical view
The bug is in uart_change_pm() handling after 8250 driver unbind. A previous fix reinitialized port->ops but did not clear port->pm, allowing serial8250_pm() to call a stale port-specific pm callback instead of serial8250_do_pm(), causing a paging request oops after unload.
Likely exposure
Exposure is limited to Linux systems using affected 8250 serial driver code where hardware-specific 8250 drivers can be unloaded or unbound. The source bundle lists Linux kernel versions and stable commits, but exact distribution package exposure must be confirmed through vendor advisories.
Exploitation context
No active exploitation is supported by the provided sources, and the CVE is not marked KEV. The described trigger is driver unload followed by later hangup/power-management behavior, suggesting a local operational crash scenario rather than a documented remote attack path.
Researcher notes
The key evidence is the incomplete prior fix for commit 04e82793f068. Validation should focus on port->pm clearing during 8250 driver unbind and whether downstream kernels backported the stable commits. No CVSS, CWE, or exploit evidence is provided.
Mitigation direction
Update to a vendor kernel containing the relevant stable 8250 serial fixes.
Check Linux distribution advisories for exact fixed package versions.
Avoid unloading or unbinding hardware-specific 8250 drivers until patched.
Prioritize systems where serial drivers are managed dynamically or by vendor modules.
Validation and detection
Inventory Linux kernel versions against the affected entries in the CVE record.
Identify hosts using 8250 serial hardware-specific drivers or vendor serial modules.
Review kernel logs for paging request oops after 8250 driver unload.
Confirm patched kernels include one of the referenced stable commits.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-54220 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
9Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Dec 30, 2025, 12:11 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.