Cloudanix VulnDB

CVE-2025-38446

None

CVSS

—

EPSS

0.2%

Published

Jul 25, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the Linux kernel's handling of clock settings on specific chips could let the system read memory it shouldn't, risking crashes during startup.

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

What it actually does

Out-of-bounds read in __clk_register when accessing parent_names array using hardcoded size instead of ARRAY_SIZE() for num_parents==4, triggered during clk_hw_register_mux on i.MX95 hardware during deferred probe.

Why it matters to the business

Kernel panic or memory corruption on affected NXP i.MX95-based systems during boot or device initialization, leading to denial of service; low exploitation likelihood but requires prompt patching on Debian Linux 13/14 and upstream kernels to avoid operational disruption.

How an attack unfolds

An attacker with local access or the ability to trigger deferred_probe_work_func on vulnerable i.MX95 hardware causes __clk_register to read past the parent_names array bounds, resulting in KASAN-detected global-out-of-bounds; no public exploits or threat actors observed.

How to fix it

Update to fixed kernel versions: Debian 13 to 6.12.41-1, Debian 14 to 6.16.3-1, or mainline commit c476d627584b7589a134a8b48dd5c6639e4401c5; rebuild and reboot systems using the clk-imx driver.

How to confirm the fix worked

Verify kernel version after upgrade; confirm absence of KASAN reports in dmesg during imx95_bc_probe; test clock registration on i.MX95 hardware.

Typical attack path

  1. Gain local code execution or trigger hardware probe on NXP i.MX95 system
  2. Force clk registration path via events_unbound workqueue
  3. Invoke __clk_hw_register_mux with num_parents=4 using hardcoded parent_names index
  4. Trigger out-of-bounds read in __clk_register leading to crash or potential corruption

How to detect it

Search kernel logs for KASAN reports mentioning __clk_register and imx95_bc_probe; inspect dmesg for global-out-of-bounds during deferred_probe_work_func on NXP i.MX95 boards.

  • KASAN: global-out-of-bounds in __clk_register
  • imx95_bc_probe
  • Read of size 8 at addr ffff800086988e78
  • Workqueue: events_unbound deferred_probe_work_func

What your security team should do

  • Prioritize patching Debian and upstream Linux systems within standard maintenance windows given low EPSS and no KEV status
  • Monitor for kernel oops or KASAN reports involving __clk_register on i.MX95 platforms
  • Apply fixed versions immediately on production hardware using the affected clock driver

The record

In the Linux kernel, the following vulnerability has been resolved: clk: imx: Fix an out-of-bounds access in dispmix_csr_clk_dev_data When num_parents is 4, __clk_register() occurs an out-of-bounds when accessing parent_names member. Use ARRAY_SIZE() instead of hardcode number here. BUG: KASAN: global-out-of-bounds in __clk_register+0x1844/0x20d8 Read of size 8 at addr ffff800086988e78 by task kworker/u24:3/59 Hardware name: NXP i.MX95 19X19 board (DT) Workqueue: events_unbound deferred_probe_work_func Call trace: dump_backtrace+0x94/0xec show_stack+0x18/0x24 dump_stack_lvl+0x8c/0xcc print_report+0x398/0x5fc kasan_report+0xd4/0x114 __asan_report_load8_noabort+0x20/0x2c __clk_register+0x1844/0x20d8 clk_hw_register+0x44/0x110 __clk_hw_register_mux+0x284/0x3a8 imx95_bc_probe+0x4f4/0xa70

Affected packages

Ecosystem Package Introduced Fixed
Debian:13 linux 0 6.12.41-1
Debian:14 linux 0 No fix
Debian:14 linux 0 6.16.3-1
Linux Kernel 6.10.0 6.12.39
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.6.1.160000.2.4
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.6.1

Related vulnerabilities