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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-46295— KVM: x86: Do IRR scan in __kvm_apic_update_irr even if PIR is empty

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于KVM中IRR扫描竞争条件,可能导致系统崩溃。

AI Predicted 5.5 Difficulty: Trivial EPSS 0.16% · P5

Possible ATT&CK Techniques 1 AI

T1498.001 · Direct Network Flood

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux b41f8638b9d30fbe045b4ef83ff4136c56a57397< bb1703949dcaa9a49c338dee075f659f4634214d affected
b41f8638b9d30fbe045b4ef83ff4136c56a57397< 4b6b06a8b12bfd95f9015074b1430c1480908073 affected
b41f8638b9d30fbe045b4ef83ff4136c56a57397< 33fd0ccd2590b470b65adcca288615ad3b5e3e06 affected
6.16 affected
< 6.16 unaffected
6.18.30≤ 6.18.* unaffected
7.0.7≤ 7.0.* unaffected
7.1≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-46295

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
KVM: x86: Do IRR scan in __kvm_apic_update_irr even if PIR is empty
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Do IRR scan in __kvm_apic_update_irr even if PIR is empty Fall back to apic_find_highest_vector() when PID.ON is set but PIR turns out to be empty, to correctly report the highest pending interrupt from the existing IRR. In a nested VM stress test, the following WARNING fires in vmx_check_nested_events() when kvm_cpu_has_interrupt() reports a pending interrupt but the subsequent kvm_apic_has_interrupt() (which invokes vmx_sync_pir_to_irr() again) returns -1: WARNING: CPU: 99 PID: 57767 at arch/x86/kvm/vmx/nested.c:4449 vmx_check_nested_events+0x6bf/0x6e0 [kvm_intel] Call Trace: kvm_check_and_inject_events vcpu_enter_guest.constprop.0 vcpu_run kvm_arch_vcpu_ioctl_run kvm_vcpu_ioctl __x64_sys_ioctl do_syscall_64 entry_SYSCALL_64_after_hwframe The root cause is a race between vmx_sync_pir_to_irr() on the target vCPU and __vmx_deliver_posted_interrupt() on a sender vCPU. The sender performs two individually-atomic operations that are not a single transaction: 1. pi_test_and_set_pir(vector) -- sets the PIR bit 2. pi_test_and_set_on() -- sets PID.ON The following interleaving triggers the bug: Sender vCPU (IPI): Target vCPU (1st sync_pir_to_irr): B1: set PIR[vector] A1: pi_clear_on() A2: pi_harvest_pir() -> sees B1 bit A3: xchg() -> consumes bit, PIR=0 (1st sync returns correct max_irr) B2: set PID.ON = 1 Target vCPU (2nd sync_pir_to_irr): C1: pi_test_on() -> TRUE (from B2) C2: pi_clear_on() -> ON=0 C3: pi_harvest_pir() -> PIR empty C4: *max_irr = -1, early return IRR NOT SCANNED The interrupt is not lost (it resides in the IRR from the first sync and is recovered on the next vcpu_enter_guest() iteration), but the incorrect max_irr causes a spurious WARNING and a wasted L2 VM-Enter/VM-Exit cycle.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于KVM中IRR扫描竞争条件,可能导致系统崩溃。
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

Vendor Product Affected Versions CPE Subscribe
Linux Linux b41f8638b9d30fbe045b4ef83ff4136c56a57397 ~ bb1703949dcaa9a49c338dee075f659f4634214d -
Linux Linux 6.16 -

II. Public POCs for CVE-2026-46295

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-46295

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-46295 (3)

Same Patch Batch · Linux · 2026-06-08 · 41 CVEs total

CVE-2026-46289 9.8 CRITICAL lib/scatterlist: fix length calculations in extract_kvec_to_sg
CVE-2026-46288 8.4 HIGH of: unittest: fix use-after-free in of_unittest_changeset()
CVE-2026-46307 8.3 HIGH wifi: ath5k: do not access array OOB
CVE-2026-46303 8.2 HIGH isofs: validate Rock Ridge CE continuation extent against volume size
CVE-2026-46274 7.8 HIGH io-wq: check that the predecessor is hashed in io_wq_remove_pending()
CVE-2026-46275 7.8 HIGH Bluetooth: hci_uart: fix UAFs and race conditions in close and init paths
CVE-2026-46277 7.8 HIGH mm/zone_device: do not touch device folio after calling ->folio_free()
CVE-2026-46280 7.8 HIGH lib: test_hmm: evict device pages on file close to avoid use-after-free
CVE-2026-46311 7.8 HIGH drm/amdgpu/userq: fix access to stale wptr mapping
CVE-2026-46304 7.5 HIGH nvmet: avoid recursive nvmet-wq flush in nvmet_ctrl_free
CVE-2026-46306 7.5 HIGH flow_dissector: do not dissect PPPoE PFC frames
CVE-2026-46299 7.0 HIGH hfsplus: fix held lock freed on hfsplus_fill_super()
CVE-2026-46298 pseries/papr-hvpipe: Fix race with interrupt handler
CVE-2026-46314 drm/v3d: Reject empty multisync extension to prevent infinite loop
CVE-2026-46301 spi: topcliff-pch: fix use-after-free on unbind
CVE-2026-46302 selinux: allow multiple opens of /sys/fs/selinux/policy
CVE-2026-46305 staging: rtl8723bs: os_dep: avoid NULL pointer dereference in rtw_cbuf_alloc
CVE-2026-46308 pmdomain: mediatek: fix use-after-free in scpsys_get_bus_protection_legacy()
CVE-2026-46309 drm/xe/uapi: Reject coh_none PAT index for CPU cached memory in madvise
CVE-2026-46310 media: renesas: vsp1: Fix NULL pointer deref on module unload

Showing top 20 of 41 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-46295

No comments yet


Leave a comment