CVE-2025-40359
NoneCVSS
—
EPSS
0.2%
Published
Dec 16, 2025
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel's performance tracking code can let a local user read or corrupt memory they should not reach when running certain monitoring commands on some Intel processors.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Data Exposure
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds memory read in the perf/x86/intel subsystem when setup_arch_pebs_sample_data calls cmt_latency_data without verifying the PMU is hybrid, dereferencing a non-existent x86_hybrid_pmu structure on non-hybrid platforms.
Why it matters to the business
Kernel instability, crashes, or potential information disclosure when administrators run performance monitoring commands such as perf mem record on affected x86 systems; widespread impact due to presence in the Linux kernel across many distributions and cloud environments.
How an attack unfolds
An attacker with local access executes the perf mem record command or triggers PEBS sampling on a non-hybrid Intel CPU; the missing is_hybrid() guard causes the kernel to access invalid global memory in __grt_latency_data, producing a KASAN out-of-bounds read during PMI handling.
How to fix it
Upgrade the Linux kernel to a version containing commit 1b61a1da3d8105ea1be548c94c2856697eb7ffd1 or later; rebuild and reboot with the patched kernel; for Red Hat OpenShift 4.4 deployments update containernetworking-plugins packages to 0:0.8.6-1.rhaos4.4.el7 or 0:0.8.6-1.rhaos4.4.el8 as applicable.
How to confirm the fix worked
Confirm the running kernel contains the fix commit; re-run perf mem record on the previously affected non-hybrid hardware and verify absence of the KASAN global-out-of-bounds warning in dmesg or kernel logs.
Typical attack path
- Obtain local execution on a non-hybrid x86 platform
- Run perf mem record or equivalent PEBS sampling workload
- Trigger intel_pmu_drain_arch_pebs path that reaches cmt_latency_data
- Read past the end of the global array, potentially leaking kernel memory or causing a fault
How to detect it
Search kernel logs and dmesg for KASAN reports mentioning cmt_latency_data, setup_arch_pebs_sample_data, or global-out-of-bounds accesses during perf or PMI handling; correlate with execution of perf binaries by non-administrative users.
What your security team should do
- Prioritize kernel updates on all non-hybrid Intel systems that allow perf access
- Restrict perf usage to trusted users via capabilities or cgroups until patched
- Monitor for kernel oops or KASAN reports related to perf and PEBS on production hosts
The record
In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel: Fix KASAN global-out-of-bounds warning When running "perf mem record" command on CWF, the below KASAN global-out-of-bounds warning is seen. ================================================================== BUG: KASAN: global-out-of-bounds in cmt_latency_data+0x176/0x1b0 Read of size 4 at addr ffffffffb721d000 by task dtlb/9850 Call Trace: kasan_report+0xb8/0xf0 cmt_latency_data+0x176/0x1b0 setup_arch_pebs_sample_data+0xf49/0x2560 intel_pmu_drain_arch_pebs+0x577/0xb00 handle_pmi_common+0x6c4/0xc80 The issue is caused by below code in __grt_latency_data(). The code tries to access x86_hybrid_pmu structure which doesn't exist on non-hybrid platform like CWF. WARN_ON_ONCE(hybrid_pmu(event->pmu)->pmu_type == hybrid_big) So add is_hybrid() check before calling this WARN_ON_ONCE to fix the global-out-of-bounds access issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 6.11.0 | 6.12.58 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.9.1.160000.2.6 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.9.1 |
Related vulnerabilities
- CVE-2026-23226 In the Linux kernel, the following vulnerability has been resolved: ksmbd: add chann_lock… Also affects Kernel
- CVE-2026-23225 In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Don't… Also affects Kernel
- CVE-2026-23230 In the Linux kernel, the following vulnerability has been resolved: smb: client: split… Also affects Kernel
- CVE-2026-23224 In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue… Also affects Kernel
- CVE-2026-23227 In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use… Also affects Kernel
- CVE-2026-23223 In the Linux kernel, the following vulnerability has been resolved: xfs: fix UAF in… Also affects Kernel
- CVE-2026-23228 In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak… Also affects Kernel
- CVE-2026-23229 In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add… Also affects Kernel