CVE-2026-93069
NoneCVSS
—
EPSS
0.2%
Published
Sep 17, 2026
CISA due date
—
Cloudanix analysis
A Linux kernel bug can let a local attacker corrupt memory and potentially take control of the system when the kernel cleans up performance-control data structures.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Incorrect initialization order of scope-based pointers in OPP code causes registered cleanup handlers to execute in reverse sequence, allowing _opp_kref_release to dereference an opp pointer whose opp_table has already been freed.
Why it matters to the business
Linux systems performing dynamic voltage/frequency scaling may experience kernel memory corruption, crashes, or potential local privilege escalation during OPP table teardown.
How an attack unfolds
An attacker with local access triggers repeated OPP table allocation and release operations; the reversed cleanup order frees the opp_table while a reference still exists, enabling a subsequent use-after-free write or read when the kref release callback runs.
How to fix it
Update to a Linux kernel containing commit 173e02d67494 or the corrective patch that restores opp_table initialization before opp initialization. Rebuild and reboot all affected kernels.
How to confirm the fix worked
Inspect the OPP initialization site to confirm opp_table is declared and initialized before opp; run kernel selftests covering OPP table allocation and kref release under memory-pressure conditions.
Typical attack path
- Obtain local code execution on a Linux system that uses the OPP framework
- Force repeated creation and destruction of OPP tables under memory pressure
- Trigger the kref release path that executes the incorrectly ordered cleanups
- Reuse the freed opp_table memory to corrupt kernel structures or redirect execution
How to detect it
Review kernel logs for use-after-free warnings or oopses referencing _opp_kref_release and opp_table; examine auditd or syscall logs for unusual sequences of OPP-related ioctls or sysfs writes under memory-pressure conditions.
What your security team should do
- Prioritize kernel upgrades on any system exposing the OPP interface to untrusted local users
- Monitor vendor advisories for backported fixes in distribution kernels
- Apply defense-in-depth measures such as kernel hardening features (e.g., KASAN, hardened usercopy) until patches are deployed
The record
In the Linux kernel, the following vulnerability has been resolved: OPP: Fix cleanup ordering Commit 173e02d67494 ("OPP: Initialize scope-based pointers inline") added initialization for all pointers. In some cases, the ordering was changed so that *opp_table was initialized after *opp. This also changes the order of the registered cleanup functions. When the cleanup happens, this can cause use-after-free errors when the last reference is released and the release function _opp_kref_release tries to access the already freed opp->opp_table. Initialize *opp_table before *opp again to fix this and ensure the correct cleanup order.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|