Cloudanix VulnDB

CVE-2026-92491

None

CVSS

—

EPSS

0.2%

Published

Sep 17, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A Linux kernel bug in handling certain firmware protocol registrations can leave behind bad memory references that may crash the system or allow an attacker to run code after a driver fails to load.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
High
Impact
Privilege Gain
Component
OS kernel
Class
Use After Free
Remediation
Patch
Effort
Low
Patch risk
Low

What it actually does

The flaw leaves a dangling pointer to a driver's ID table in the SCMI protocol registration table after a partial failure during scmi_protocol_table_register(); module unload then frees the backing storage while the pointer remains, enabling a classic use-after-free on subsequent access.

Why it matters to the business

Kernel instability, crashes, or potential memory corruption on Linux systems that use the ARM SCMI firmware interface; may interrupt workloads or create an exploitable condition in environments that dynamically load or unload SCMI drivers.

How an attack unfolds

An attacker arranges for a module load that registers some but not all entries in an SCMI protocol ID table, forces the module to unload (freeing the table), then triggers any code path that dereferences the stale pointer left in the global protocol table.

How to fix it

Apply the upstream fix that performs ordered unregistration of only the successfully registered prefix before returning failure; rebuild and deploy the corrected kernel or distribution package containing the arm_scmi change.

How to confirm the fix worked

Inspect the arm_scmi source for the corrected rollback logic in scmi_protocol_table_register(); boot the patched kernel and exercise module load/unload sequences that previously left dangling entries, confirming no use-after-free warnings appear in the kernel log.

Typical attack path

  1. Load a malicious or malformed SCMI driver module that partially populates the protocol table
  2. Trigger a registration failure on a later entry
  3. Unload the module, releasing the storage that holds the ID table
  4. Cause the kernel to walk or dereference the remaining stale protocol entry

How to detect it

Search kernel logs and dmesg for arm_scmi registration failure messages followed by use-after-free or slab corruption reports; examine module load/unload traces around the time of any SCMI-related oops.

  • scmi_protocol_table_register
  • arm_scmi.*partial.*registration
  • use-after-free.*scmi

What your security team should do

  • Prioritize kernel updates on systems exposing the SCMI interface
  • Harden module-loading policies to reduce the chance of partial registration scenarios
  • Monitor kernel logs for arm_scmi registration errors and use-after-free reports

The record

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Roll back partial protocol table registration scmi_protocol_table_register() can leave earlier requests registered when a later entry in the same ID table fails. Each request retains a pointer to the driver's ID table, so a failed module load can leave a dangling pointer after the module storage is released. Unrequest only the successfully registered prefix, in reverse order, before returning the failure. Leave the failed entry and the remaining entries untouched because matching requests can be owned by another driver.

Affected packages

Ecosystem Package Introduced Fixed