CVE-2025-38446
NoneCVSS
—
EPSS
0.2%
Published
Jul 25, 2025
CISA due date
—
Cloudanix analysis
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
- Gain local code execution or trigger hardware probe on NXP i.MX95 system
- Force clk registration path via events_unbound workqueue
- Invoke __clk_hw_register_mux with num_parents=4 using hardcoded parent_names index
- 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
- CVE-2025-39885 In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive… Also affects linux
- CVE-2025-39883 In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure… Also affects linux
- CVE-2025-39884 In the Linux kernel, the following vulnerability has been resolved: btrfs: fix subvolume… Also affects linux
- CVE-2025-39886 In the Linux kernel, the following vulnerability has been resolved: bpf: Tell memcg to… Also affects linux
- CVE-2025-39876 In the Linux kernel, the following vulnerability has been resolved: net: fec: Fix… Also affects linux
- CVE-2025-39880 In the Linux kernel, the following vulnerability has been resolved: libceph: fix invalid… Also affects linux
- CVE-2025-39881 In the Linux kernel, the following vulnerability has been resolved: kernfs: Fix UAF in… Also affects linux
- CVE-2025-39882 In the Linux kernel, the following vulnerability has been resolved: drm/mediatek: fix… Also affects linux