Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-37936— perf/x86/intel: KVM: Mask PEBS_ENABLE loaded for guest with vCPU's value.

EPSS 0.09% · P25
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-37936

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
perf/x86/intel: KVM: Mask PEBS_ENABLE loaded for guest with vCPU's value.
Source: NVD (National Vulnerability Database)
Vulnerability Description
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 restricting PEBS to guest-owned events. Note, commit 854250329c02 ("KVM: x86/pmu: Disable guest PEBS temporarily in two rare situations") fixed the case where host userspace is profiling KVM *and* userspace, but missed the case where userspace is profiling only KVM.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于perf/x86/intel中PEBS_ENABLE未按vCPU值屏蔽。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux c59a1f106f5cd4843c097069ff1bb2ad72103a67 ~ 160153cf9e4aa875ad086cc094ce34aac8e13d63 -
LinuxLinux 6.0 -

II. Public POCs for CVE-2025-37936

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-37936

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-05-20 · 95 CVEs total

CVE-2025-379249.8 CRITICALksmbd: fix use-after-free in kerberos authentication
CVE-2025-37958mm/huge_memory: fix dereferencing invalid pmd migration entry
CVE-2025-37954smb: client: Avoid race in open_cached_dir with lease breaks
CVE-2025-37953sch_htb: make htb_deactivate() idempotent
CVE-2025-37949xenbus: Use kref to track req lifetime
CVE-2025-37948arm64: bpf: Add BHB mitigation to the epilogue for cBPF programs
CVE-2025-37947ksmbd: prevent out-of-bounds stream writes by validating *pos
CVE-2025-37946s390/pci: Fix duplicate pci_dev_put() in disable_slot() when PF has child VFs
CVE-2025-37945net: phy: allow MDIO bus PM ops to start/stop state machine for phylink-controlled PHY
CVE-2025-37950ocfs2: fix panic in failed foilio allocation
CVE-2025-37957KVM: SVM: Forcibly leave SMM mode on SHUTDOWN interception
CVE-2025-37956ksmbd: prevent rename with empty string
CVE-2025-37960memblock: Accept allocated memory before use in memblock_double_array()
CVE-2025-37959bpf: Scrub packet on bpf_redirect_peer
CVE-2025-37961ipvs: fix uninit-value for saddr in do_output_route4
CVE-2025-37963arm64: bpf: Only mitigate cBPF programs loaded by unprivileged users
CVE-2025-37962ksmbd: fix memory leak in parse_lease_state()
CVE-2025-37964x86/mm: Eliminate window where TLB flushes may be inadvertently skipped
CVE-2025-37965drm/amd/display: Fix invalid context error in dml helper
CVE-2025-37967usb: typec: ucsi: displayport: Fix deadlock

Showing top 20 of 95 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2025-37936

No comments yet


Leave a comment