CVE-2023-54026

CVE-2023-54026

High · published December 24, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
3.1
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

opp: Fix use-after-free in lazy_opp_tables after probe deferral

When dev_pm_opp_of_find_icc_paths() in _allocate_opp_table() returns

-EPROBE_DEFER, the opp_table is freed again, to wait until all the

interconnect paths are available.

However, if the OPP table is using required-opps then it may already

have been added to the global lazy_opp_tables list. The error path

does not remove the opp_table from the list again.

This can cause crashes later when the provider of the required-opps

is added, since we will iterate over OPP tables that have already been

freed. E.g.:

Unable to handle kernel NULL pointer dereference when read

CPU: 0 PID: 7 Comm: kworker/0:0 Not tainted 6.4.0-rc3

PC is at _of_add_opp_table_v2 (include/linux/of.h:949

drivers/opp/of.c:98 drivers/opp/of.c:344 drivers/opp/of.c:404

drivers/opp/of.c:1032) -> lazy_link_required_opp_table()

Fix this by calling _of_clear_opp_table() to remove the opp_table from

the list and clear other allocated resources. While at it, also add the

missing mutex_destroy() calls in the error path.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00140 · 3.1th percentile
Published
2025-12-24T16:15Z
References (4)
EPSS history
Timeline
  • 24 DEC 10:55Z
    opp: Fix use-after-free in lazy_opp_tables after probe deferral
    cvelistv5