Cloudanix VulnDB

CVE-2025-38322

Medium · 5.5

CVSS

5.5

EPSS

0.2%

Published

Jul 10, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the Linux kernel can make computers using certain Intel processors suddenly crash when performance monitoring tools run.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Improper Input Validation
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

The vulnerability causes a general protection fault and hard lockup when icl_update_topdown_event() invokes native_read_pmc on Intel E-core CPUs lacking perf metrics support, due to a regression that incorrectly uses is_topdown_event() instead of is_topdown_count().

Why it matters to the business

Affected Linux systems on Raptor Lake and similar Intel hardware experience kernel crashes and reboots during performance monitoring, resulting in unplanned downtime, service interruptions, and potential data corruption across widely deployed server and workstation fleets.

How an attack unfolds

An attacker or automated fuzzer with local access triggers perf event sampling of topdown metrics; on E-core CPUs the missing guard allows execution of unsupported PMC reads, producing the fault and lockup.

How to fix it

Upgrade the Linux kernel to a fixed release (6.1.149 or newer, 6.6.58-r0 for Alpaquita linux-lts) or apply commit 702ea6028032d6c1fe96c2d4762a3575e3654819; reboot after installation.

How to confirm the fix worked

Confirm the running kernel contains the listed fix commit or version string, then exercise perf topdown monitoring on E-core CPUs and verify absence of oops or lockups in dmesg.

Typical attack path

  1. Obtain local user or root access on a vulnerable system
  2. Invoke perf or equivalent API to create topdown events
  3. Schedule or migrate the workload onto an E-core CPU
  4. Trigger event read path leading to native_read_pmc fault

How to detect it

Search kernel logs and dmesg for general protection faults originating from native_read_pmc or icl_update_topdown_event on Raptor Lake hardware during perf activity; correlate with swapper or perf process contexts.

  • Oops: general protection fault
  • native_read_pmc+0x7/0x40
  • icl_update_topdown_event+0x165/0x190
  • Hardware name: Dell Inc. Precision 9660
  • Tainted: [W]=WARN

What your security team should do

  • Apply kernel updates within the next maintenance window on all Raptor Lake and similar Intel hosts
  • Temporarily restrict unprivileged perf access via sysctl until patches are deployed
  • Add kernel oops and perf-related crash signatures to alerting rules

The record

In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel: Fix crash in icl_update_topdown_event() The perf_fuzzer found a hard-lockup crash on a RaptorLake machine: Oops: general protection fault, maybe for address 0xffff89aeceab400: 0000 CPU: 23 UID: 0 PID: 0 Comm: swapper/23 Tainted: [W]=WARN Hardware name: Dell Inc. Precision 9660/0VJ762 RIP: 0010:native_read_pmc+0x7/0x40 Code: cc e8 8d a9 01 00 48 89 03 5b cd cc cc cc cc 0f 1f ... RSP: 000:fffb03100273de8 EFLAGS: 00010046 .... Call Trace: <TASK> icl_update_topdown_event+0x165/0x190 ? ktime_get+0x38/0xd0 intel_pmu_read_event+0xf9/0x210 __perf_event_read+0xf9/0x210 CPUs 16-23 are E-core CPUs that don't support the perf metrics feature. The icl_update_topdown_event() should not be invoked on these CPUs. It's a regression of commit: f9bdf1f95339 ("perf/x86/intel: Avoid disable PMU if !cpuc->enabled in sample read") The bug introduced by that commit is that the is_topdown_event() function is mistakenly used to replace the is_topdown_count() call to check if the topdown functions for the perf metrics feature should be invoked. Fix it.

Affected packages

Ecosystem Package Introduced Fixed
Debian:12 linux 0 No fix
Debian:13 linux 0 No fix
Debian:14 linux 0 6.16.3-1
Linux Kernel 0 6.1.149
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_20 0 1-150600.13.3.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-64kb 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-default-base 0 6.4.0-150600.23.87.1.150600.12.40.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-docs 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-obs-build 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-source 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-syms 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-zfcpdump 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-default 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-default-base 0 6.4.0-150600.23.87.1.150600.12.40.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-docs 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-obs-build 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-source 0 6.4.0-150600.23.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-syms 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.87.1.150600.12.40.1
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.87.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.87.1
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