CVE-2023-54287
NULL Pointer Dereference in Linux imx UART Causes Kernel Panic
Publication date: 2025-12-30
Last updated on: 2025-12-30
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 6.1.1 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability occurs in the Linux kernel's serial driver for the i.MX platform when used with the Jailhouse hypervisor enabled. It happens because there may be pending user interrupts before the interrupt request (irq) is requested, but the uart_add_one_port function has not yet executed. This leads to a kernel panic due to a NULL pointer dereference. The issue arises specifically when a Jailhouse cell running Linux is destroyed and restarted without the UART being put into a quiescent state, causing pending interrupts that trigger the crash. The fix involves disabling the Ageing Timer interrupt request in UCR2, similar to UCR1, to prevent interrupts before they are properly requested.
How can this vulnerability impact me? :
This vulnerability can cause a kernel panic and system crash on affected Linux systems running on i.MX hardware with the Jailhouse hypervisor enabled. This can lead to system instability, denial of service, and potential loss of data or availability due to unexpected reboots or crashes when managing Jailhouse cells and interacting with the serial console.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, ensure that the Linux kernel is updated to a version where the fix is applied. The fix involves disabling the Ageing Timer interrupt request (IRQ) in UCR2 as is done in UCR1, preventing pending USR interrupts before requesting IRQs that cause kernel panic. Additionally, avoid running the Jailhouse hypervisor with the imx8mp cell in a way that triggers the issue until the patch is applied.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring the Linux kernel logs for specific kernel panic messages related to the imx UART serial driver, such as 'Unable to handle kernel NULL pointer dereference at virtual address 0000000000000080' and 'Internal error: Oops: 0000000096000004'. Additionally, reproducing the issue involves running the Jailhouse hypervisor with the imx8mp cell enabled and destroyed repeatedly while interacting with the second Linux console. There are no specific commands provided to detect this vulnerability automatically, but checking dmesg or journalctl logs for the mentioned error messages can help identify if the issue occurs.