Skip to content
Heist/ feed
High

perf/x86/intel: KVM: Mask PEBS_ENABLE loaded for guest with vCPU's value.

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel: KVM: Mask PEBS_ENABLE loaded for guest with vCPU's value. When generating the MSR_IA32_PEBS_ENABLE value that will be loaded on VM-Entry to a KVM guest, mask the value with the vCPU's desired PEBS_ENABLE value. Consulting only the host kernel's host vs. guest masks results in running the guest with PEBS enabled even when the guest doesn't want to use PEBS. Because KVM uses perf events to proxy the guest virtual PMU, simply looking at exclude_host can't differentiate between events created by host userspace, and events created by KVM on behalf of the guest. Running the guest with PEBS unexpectedly enabled typically manifests as crashes due to a near-infinite stream of #PFs. E.g. if the guest hasn't written MSR_IA32_DS_AREA, the CPU will hit page faults on address '0' when trying to record PEBS events. The issue is most easily reproduced by running `perf kvm top` from before commit 7b100989b4f6 ("perf evlist: Remove __evlist__add_default") (after which, `perf kvm top` effectively stopped using PEBS). The userspace side of perf creates a guest-only PEBS event, which intel_guest_get_msrs() misconstrues a guest-*owned* PEBS event. Arguably, this is a userspace bug, as enabling PEBS on guest-only events simply cannot work, and userspace can kill VMs in many other ways (there is no danger to the host). However, even if this is considered to be bad userspace behavior, there's zero downside to perf/KVM

Announced Source revision 1
Original source ↗

CVE-2025-37936

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2025-37936

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "c59a1f106f5cd4843c097069ff1bb2ad72103a67",
        "lessThan": "160153cf9e4aa875ad086cc094ce34aac8e13d63",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c59a1f106f5cd4843c097069ff1bb2ad72103a67",
        "lessThan": "34b6fa11431aef71045ae5a00d90a7d630597eda",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c59a1f106f5cd4843c097069ff1bb2ad72103a67",
        "lessThan": "44ee0afc9d1e7a7c1932698de01362ed80cfc4b5",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c59a1f106f5cd4843c097069ff1bb2ad72103a67",
        "lessThan": "86aa62895fc2fb7ab09d7ca40fae8ad09841f66b",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c59a1f106f5cd4843c097069ff1bb2ad72103a67",
        "lessThan": "58f6217e5d0132a9f14e401e62796916aa055c1b",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "arch/x86/events/intel/core.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "6.0"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "6.0",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.1.138",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.90",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.28",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.14.6",
        "versionType": "semver",
        "lessThanOrEqual": "6.14.*"
      },
      {
        "status": "unaffected",
        "version": "6.15",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "arch/x86/events/intel/core.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2025-37936

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#30497 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement