CVE Catalog

CVE-2026-93086

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel's ARM SCMI subsystem, a vulnerability exists where during channel cleanup, the callback that removes entries from the IDR while iterating with idr_for_each() can invalidate the iterator, leading to unsafe behavior. Additionally, the callback cannot be protected by rcu_read_lock() because it may sleep.

Risk Assessment

The vulnerability could lead to system crashes or unpredictable behavior during channel cleanup, potentially enabling a DoS attack.

Recommendation

Apply the patch that leaves IDR teardown to idr_destroy() and limits the callback to device destruction. Update the kernel to a version containing this fix.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Avoid IDR updates while cleaning channels scmi_cleanup_channels() walks the TX/RX channel IDRs with idr_for_each() to free transport resources and destroy the dedicated transport devices before calling idr_destroy(). The destroy callback removed each entry from the same IDR being walked. That is not needed for this cleanup path, and it is unsafe because idr_for_each() has not advanced its radix-tree iterator while the callback is running. Removing the current entry from the callback can invalidate the iterator state. The callback also cannot be protected by rcu_read_lock(), because scmi_device_destroy() may sleep. Leave IDR teardown to the following idr_destroy() call and keep the callback limited to device destruction.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS