Cloudanix VulnDB

CVE-2025-21668

None

CVSS

—

EPSS

0.2%

Published

Jan 31, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A missing safety check in Linux kernel code for certain hardware can cause the system to crash when shutting down.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Missing loop break condition in imx8mp_blk_ctrl_remove causes the function to iterate past valid array bounds, resulting in an out-of-bounds memory access and kernel panic during device shutdown or removal on affected ARM platforms.

Why it matters to the business

Systems using the affected Linux kernel on i.MX8MP hardware may experience unexpected crashes during reboot or shutdown sequences, leading to unplanned downtime and potential data loss in embedded or server environments; prevalence in the Linux kernel ecosystem increases exposure across many distributions and devices.

How an attack unfolds

An attacker with local access or the ability to trigger a controlled reboot can force execution of the faulty shutdown path, causing the kernel to dereference invalid memory and crash; the call trace shows the failure originates from platform_shutdown invoking dev_pm_domain_detach without the missing loop guard.

How to fix it

Upgrade the Linux kernel to the fixed commit 699cc10cc3068f9097a506eae7fe178c860dca4e or later stable releases containing the added loop break condition in pmdomain/imx8mp-blk-ctrl.

How to confirm the fix worked

Inspect the source of imx8mp_blk_ctrl_remove to confirm presence of the explicit break condition on loop termination; test reboot/shutdown sequences on patched kernels to verify absence of the prior panic path.

Typical attack path

  1. Obtain local execution or reboot privileges on a vulnerable kernel
  2. Trigger device shutdown or driver removal for the imx8mp-blk-ctrl component
  3. imx8mp_blk_ctrl_remove enters unbounded for loop
  4. Out-of-bounds access occurs leading to kernel panic

How to detect it

Review kernel logs and crash dumps for the exact call trace involving imx8mp_blk_ctrl_shutdown, dev_pm_domain_detach, and platform_shutdown; search dmesg or syslog for out-of-bounds access patterns tied to the imx8mp-blk-ctrl driver.

  • imx8mp_blk_ctrl_remove
  • imx8mp_blk_ctrl_shutdown
  • dev_pm_domain_detach+0x8/0x48
  • platform_shutdown+0x2c/0x48

What your security team should do

  • Apply the kernel update containing commit 699cc10cc3068f9097a506eae7fe178c860dca4e as soon as possible on all affected i.MX8MP systems
  • Monitor kernel logs for related oops/panic signatures during maintenance windows
  • Prioritize patching in environments where frequent reboots occur

The record

In the Linux kernel, the following vulnerability has been resolved: pmdomain: imx8mp-blk-ctrl: add missing loop break condition Currently imx8mp_blk_ctrl_remove() will continue the for loop until an out-of-bounds exception occurs. pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : dev_pm_domain_detach+0x8/0x48 lr : imx8mp_blk_ctrl_shutdown+0x58/0x90 sp : ffffffc084f8bbf0 x29: ffffffc084f8bbf0 x28: ffffff80daf32ac0 x27: 0000000000000000 x26: ffffffc081658d78 x25: 0000000000000001 x24: ffffffc08201b028 x23: ffffff80d0db9490 x22: ffffffc082340a78 x21: 00000000000005b0 x20: ffffff80d19bc180 x19: 000000000000000a x18: ffffffffffffffff x17: ffffffc080a39e08 x16: ffffffc080a39c98 x15: 4f435f464f006c72 x14: 0000000000000004 x13: ffffff80d0172110 x12: 0000000000000000 x11: ffffff80d0537740 x10: ffffff80d05376c0 x9 : ffffffc0808ed2d8 x8 : ffffffc084f8bab0 x7 : 0000000000000000 x6 : 0000000000000000 x5 : ffffff80d19b9420 x4 : fffffffe03466e60 x3 : 0000000080800077 x2 : 0000000000000000 x1 : 0000000000000001 x0 : 0000000000000000 Call trace: dev_pm_domain_detach+0x8/0x48 platform_shutdown+0x2c/0x48 device_shutdown+0x158/0x268 kernel_restart_prepare+0x40/0x58 kernel_kexec+0x58/0xe8 __do_sys_reboot+0x198/0x258 __arm64_sys_reboot+0x2c/0x40 invoke_syscall+0x5c/0x138 el0_svc_common.constprop.0+0x48/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x38/0xc8 el0t_64_sync_handler+0x120/0x130 el0t_64_sync+0x190/0x198 Code: 8128c2d0 ffffffc0 aa1e03e9 d503201f

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux-6.1 0 6.1.128-1~deb11u1
Debian:11 linux-6.1 0 6.1.6.1.128-1~deb11u1
Debian:12 linux 0 6.1.128-1
Debian:13 linux 0 6.12.11-1
Linux Kernel 5.19.0 6.1.127
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_9 0 1-150600.1.3.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_9 0 1-150600.13.3.4
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.42.2.150600.12.18.4
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.42.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco 0 6.4.0-15061.15.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco_debug 0 6.4.0-15061.15.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-source-coco 0 6.4.0-15061.15.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-syms-coco 0 6.4.0-15061.15.coco15sp6.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.42.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.42.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.42.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.31.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.31.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.31.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.42.2
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.29.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.29.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.29.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.29.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.42.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.42.2
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.31.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.42.2
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.42.2
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.42.2.150600.12.18.4
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.42.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.42.2
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.42.2
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.42.1
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.29.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.29.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.42.1
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.31.1
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.29.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.42.1
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.31.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.29.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.42.2

Related vulnerabilities