cveboard RSS feed

CVE-2025-38055

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2025
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

perf/x86/intel: Fix segfault with PEBS-via-PT with sample_freq

In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel: Fix segfault with PEBS-via-PT with sample_freq Currently, using PEBS-via-PT with a sample frequency instead of a sample period, causes a segfault. For example: BUG: kernel NULL pointer dereference, address: 0000000000000195 <NMI> ? __die_body.cold+0x19/0x27 ? page_fault_oops+0xca/0x290 ? exc_page_fault+0x7e/0x1b0 ? asm_exc_page_fault+0x26/0x30 ? intel_pmu_pebs_event_update_no_drain+0x40/0x60 ? intel_pmu_pebs_event_update_no_drain+0x32/0x60 intel_pmu_drain_pebs_icl+0x333/0x350 handle_pmi_common+0x272/0x3c0 intel_pmu_handle_irq+0x10a/0x2e0 perf_event_nmi_handler+0x2a/0x50 That happens because intel_pmu_pebs_event_update_no_drain() assumes all the pebs_enabled bits represent counter indexes, which is not always the case. In this particular case, bits 60 and 61 are set for PEBS-via-PT purposes. The behaviour of PEBS-via-PT with sample frequency is questionable because although a PMI is generated (PEBS_PMI_AFTER_EACH_RECORD), the period is not adjusted anyway. Putting that aside, fix intel_pmu_pebs_event_update_no_drain() by passing the mask of counter bits instead of 'size'. Note, prior to the Fixes commit, 'size' would be limited to the maximum counter index, so the issue was not hit.

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
722e42e45c2f1c6d1adec7813651dba5139f52f4affectedgitca51db23166767a8445deb8331c9b8d5205d9287UnavailableNone listed
722e42e45c2f1c6d1adec7813651dba5139f52f4affectedgit0b1874a5b1173fbcb2185ab828f4c33d067e551eUnavailableNone listed
722e42e45c2f1c6d1adec7813651dba5139f52f4affectedgit99bcd91fabada0dbb1d5f0de44532d8008db93c6UnavailableNone listed
a9d6d466bcf0621a872e1052bc40e4c6f0541b8daffectedgitUnavailableUnavailableNone listed
6.10.5affectedsemver6.11UnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
6.11affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver6.11UnavailableNone listed
6.12.31unaffectedsemverUnavailable6.12.*None listed
6.14.9unaffectedsemverUnavailable6.14.*None listed
6.15unaffectedoriginal_commit_for_fixUnavailable*None listed