CVE-2023-54026
Use-After-Free in Linux Kernel OPP Tables Causes Kernel Crash
Publication date: 2025-12-24
Last updated on: 2025-12-24
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | kernel | * |
| linux | linux_kernel | 6.4.0-rc3 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a use-after-free bug in the Linux kernel's OPP (Operating Performance Points) subsystem. When the function dev_pm_opp_of_find_icc_paths() returns -EPROBE_DEFER during the allocation of an OPP table, the table is freed to wait for interconnect paths. However, if the OPP table uses required-opps and has already been added to a global list (lazy_opp_tables), it is not removed from that list upon freeing. This leads to the kernel later accessing freed memory when iterating over these tables, causing crashes such as NULL pointer dereferences.
How can this vulnerability impact me? :
This vulnerability can cause system instability and crashes in the Linux kernel due to use-after-free errors. Specifically, it may lead to kernel NULL pointer dereferences and crashes when the system tries to access freed OPP tables. This can affect the reliability and availability of systems running vulnerable Linux kernel versions.
What immediate steps should I take to mitigate this vulnerability?
The vulnerability is fixed by updating the Linux kernel to a version that includes the patch for the use-after-free in lazy_opp_tables after probe deferral. Immediate mitigation involves applying the updated kernel that calls _of_clear_opp_table() to properly remove the opp_table from the list and clear allocated resources, and includes the missing mutex_destroy() calls in the error path.