CVE-2023-54026

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

HIGH
7.8
CVSS Score
Published: December 24, 2025 at 10:55 AM UTC
Updated: August 5, 2026 at 10:24 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.1%

Description

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.12 ≤ v < 5.15.1215.12 ≤ v < 6.1.405.12 ≤ v < 6.4.55.12 ≤ v < 6.55.127eba0c7641b0009818e469dbfcdd87a0155ab9d4
Vendor states this is fixed in 39a0e723d3502f6dc4c603f57ebe8dc7bcc4a4bc (fixed)
Vendor states this is fixed in 76ab057de777723ec924654502d1a260ba7d7d54 (fixed)
Vendor states this is fixed in b2a2ab039bd58f51355e33d7d3fc64605d7f870d (fixed)
Vendor states this is fixed in c05e76d6b249e5254c31994eedd06dd3cc90dee0 (fixed)
Vendor states this is fixed in 5.12 (unaffected)
Vendor states this is fixed in 5.15.121 (unaffected)
Vendor states this is fixed in 6.1.40 (unaffected)
Vendor states this is fixed in 6.4.5 (unaffected)
Vendor states this is fixed in 6.5 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusDEFERRED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card