KernelScan.io

HIGH

pmdomain imx8m Domain Array OOB

CVE-2026-23187

CVSS 7.1 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H

KernelScan AI7.1HIGH

01

In the Linux kernel, the following vulnerability has been resolved: pmdomain: imx8m-blk-ctrl: fix out-of-range access of bc->domains Fix out-of-range access of bc->domains in imx8m_blk_ctrl_remove().

02

Engine v0.2.0

Risk summary

A programming error in the i.MX8M power domain driver causes an infinite loop during device cleanup, leading to out-of-bounds memory reads that could crash the system or potentially leak kernel memory contents. This affects systems using i.MX8M processors when the power domain driver is removed or reloaded.

Affecteddrivers/pmdomain/imx/imx8m-blk-ctrl.c

Vulnerability analysis

Root Cause: The for loop condition in imx8m_blk_ctrl_remove() uses assignment (=) instead of comparison (<), causing an infinite loop that accesses bc->domains array out of bounds. The condition 'bc->onecell_data.num_domains' is always true (non-zero), so the loop never terminates and continues accessing array elements beyond the allocated range.

Attack Surface: This vulnerability is triggered during device removal/cleanup in the i.MX8M power domain controller driver. It requires local access with sufficient privileges to trigger device removal, typically through module unloading or device unbinding operations.

Fix Mechanism: The patch corrects the loop condition from 'for (i = 0; bc->onecell_data.num_domains; i++)' to 'for (i = 0; i < bc->onecell_data.num_domains; i++)', properly terminating the loop when i reaches the number of domains and preventing out-of-bounds access.

03

BranchFixed inPatch commit
6.16.1.1637842b5dfcac8
6.126.12.704390dcdabb5f
6.186.18.10eb54ce033b34
6.66.6.124071159ff5c0b
mainline6.196bd8b4a92a90