Skip to main content

Linux Kernel CVE-2026-89907

| EUVDEUVD-2026-80507 HIGH
2026-09-16 Linux GHSA-fvq2-363j-rc9x
8.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain KVM VM fd on LoongArch host
  2. Delivery
    Craft MSI data value >= 256
  3. Exploit
    Submit via KVM_SIGNAL_MSI or GSI routing
  4. Execution
    EIOINTC indexes bitmaps out of bounds
  5. Persist
    Controlled OOB write into host kernel memory
  6. Impact
    Host memory corruption / privilege escalation

Vulnerability Assessment

Exploitation Conditions

Requires a LoongArch host with KVM enabled and the attacker holding a VM file descriptor (access to /dev/kvm to create a VM). The attacker then supplies an MSI data value >= EIOINTC_IRQS (256) through KVM_SET_GSI_ROUTING (irqfd/KVM_IRQ_LINE) or KVM_SIGNAL_MSI, which is routed unvalidated into EIOINTC. Limiting factors: exploitation is confined to the LoongArch architecture with KVM in use; the DMSINTC path is not affected because it decodes and masks the vector from the address; and it needs local access to KVM interfaces (PR:L) rather than remote reach. Within those constraints the write is deterministic and fully attacker-controlled - no race, no user interaction.

Impact

This is one of the few genuinely well-scored CVEs in the recent LoongArch KVM cluster. The vendor CVSS of 8.8 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H) is defensible rather than inflated: unlike the sibling LoongArch race-condition bugs, this is a deterministic, attacker-controlled out-of-bounds write. Any process holding a KVM VM fd supplies an MSI data value >= 256 (via KVM_SET_GSI_ROUTING/irqfd/KVM_IRQ_LINE or KVM_SIGNAL_MSI), which pch_msi_set_irq() feeds unchecked into eiointc_set_irq(), driving __set_bit()/__clear_bit() and sw_coremap[]/coreisr indexing past the loongarch_eiointc allocation - a controlled OOB write primitive into HOST kernel memory. AC:L is honest here because the attacker directly controls the index with no race to win. S:C correctly captures the guest/VM-to-host confinement escape. C:H/I:H/A:H are justified because a controlled kernel OOB write can escalate to full host compromise. No CVSS 4.0 vector, EPSS, KEV, POC, or SSVC data was provided. Exploitation status: no public exploit identified at time of analysis, and there is no evidence of active exploitation. The main mitigating factor is deployment scope - this affects only LoongArch hosts running KVM, a niche architecture, so real-world priority is high for the small population of LoongArch virtualization operators and low for everyone else. One data-quality caveat: the input CWE is N/A and the 'Information Disclosure' tag mislabels this - the primary impact is a memory-corruption OOB write (CWE-787), not disclosure.

Exploit ScenarioDerived

A local unprivileged user (or a semi-trusted virtualization tenant) with access to /dev/kvm on a LoongArch host creates a VM and issues KVM_SIGNAL_MSI or configures GSI routing with an MSI data field >= 256. The kernel routes that value directly into the EIOINTC bitmap logic, writing bits past the per-cpu coreisr/sw_coreisr arrays and corrupting host kernel memory, which can be shaped into privilege escalation or a host crash. No public exploit code is identified at this time.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 16, 2026

Out-of-bounds kernel memory corruption in the Linux kernel's LoongArch KVM EIOINTC interrupt-routing code allows a local attacker who holds a VM file descriptor to read and write memory beyond the loongarch_eiointc allocation. The MSI data field supplied by userspace through KVM_SET_GSI_ROUTING (irqfd/KVM_IRQ_LINE) or KVM_SIGNAL_MSI is passed unchecked into eiointc_set_irq() and used as an IRQ index against 256-bit bitmaps and the sw_coremap[]/coreisr/sw_coreisr arrays, so any value of 256 or greater triggers deterministic, fully attacker-controlled out-of-bounds accesses with scope change from the guest process into kernel memory (CVSS 3.1 8.8, AV:L/PR:L/S:C). Exploitation is confined to LoongArch hosts running KVM and requires local access to the KVM interfaces; the DMSINTC path is unaffected because it decodes and masks the vector from the address. No public exploit code has been identified and the flaw is not confirmed actively exploited (not in CISA KEV), and vendor patches are available in the stable kernel commits referenced by the advisory.

RemediationAI

Apply the vendor fix by upgrading to a Linux kernel that contains the referenced stable commits - specifically the 7.2.5 stable release or 7.3-rc2, or any later version (patches: https://git.kernel.org/stable/c/83715a40a2d30d23719e0b25380ba82ff905195b and https://git.kernel.org/stable/c/501514d6ebd2111c353a1296f25dbe22fbd64657); see also https://nvd.nist.gov/vuln/detail/CVE-2026-89907. Because exploitation requires only a VM file descriptor, the practical compensating controls are to restrict access to /dev/kvm to a trusted group and remove unprivileged users from it (trade-off: breaks unprivileged VM, container and nested-virtualization workloads on that host), or to disable the KVM module entirely on LoongArch hosts that host untrusted local users (trade-off: no virtualization capability at all). Note that only the EIOINTC routing path is vulnerable, so hosts that exclusively use the DMSINTC interrupt controller path are not exposed by this specific bug, though this is an architecture-configuration distinction rather than an operator-facing switch and should not be relied on as a mitigation. Patching is the only complete fix, since the corrupting write is deterministic and requires no race or user interaction once a VM fd is available.

Affected VersionsENISA

Linux patch: 7.2.5
Linux patch: 0
Linux 6.13
Linux patch: 7.3-rc2
Linux 1928254c5ccb7bdffd7f0334e1ce250e9ce4de94 <83715a40a2d30d23719e0b25380ba82ff905195b
Linux 1928254c5ccb7bdffd7f0334e1ce250e9ce4de94 <501514d6ebd2111c353a1296f25dbe22fbd64657

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected subsystem is the LoongArch KVM interrupt controller emulation for the EIOINTC (extended I/O interrupt controller), used to deliver MSI-based interrupts to guests on LoongArch hosts. Userspace configures interrupt routing by submitting KVM_IRQ_ROUTING_MSI entries via KVM_SET_GSI_ROUTING (the mechanism behind irqfd and KVM_IRQ_LINE) or by issuing KVM_SIGNAL_MSI directly; the MSI 'data' field is entirely userspace-controlled. In pch_msi_set_irq() this data value was handed straight to eiointc_set_irq() as the interrupt number without being validated against EIOINTC_IRQS (256). Downstream, eiointc_set_irq() applies __set_bit()/__clear_bit() to the 256-bit ISR bitmap, and eiointc_update_irq() uses the same value to index sw_coremap[] plus the per-CPU coreisr and sw_coreisr bitmaps, so any data value >= 256 reads and writes past the end of those structures - kernel memory corruption beyond the loongarch_eiointc allocation. The source data assigns no CWE; the root-cause class is improper validation of an array index leading to an out-of-bounds write (CWE-129/CWE-787 class). The parallel DMSINTC route is not vulnerable because it derives and masks the vector from the MSI address rather than trusting the data field. The fix adds a bounds check that rejects MSI data not fitting the EIOINTC IRQ space.

Know when KVM gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 8.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Local VM-fd access (AV:L/PR:L), deterministic attacker-controlled OOB write with no race (AC:L), guest-to-host escape (S:C), and controlled host-kernel corruption yields full C/I/A impact.

3.1 AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
SUSE HIGH
Red Hat 5.5 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 16, 2026 - 15:22 NVD
8.8 (HIGH)
Patch available
Sep 16, 2026 - 11:03 EUVD
CVE Published
Sep 16, 2026 - 10:32 cve.org
HIGH 8.8
CVE Published
Sep 16, 2026 - 10:32 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

LoongArch: KVM: Validate MSI data before routing it to EIOINTC

pch_msi_set_irq() passes e->msi.data straight into eiointc_set_irq() as the irq number. The MSI data comes from userspace, that either via a KVM_IRQ_ROUTING_MSI entry set with KVM_SET_GSI_ROUTING (used by irqfd and KVM_IRQ_LINE) or directly via KVM_SIGNAL_MSI, and is never checked against EIOINTC_IRQS.

eiointc_set_irq() uses the value with __set_bit()/__clear_bit() on the 256-bit isr bitmap, eiointc_update_irq() then indexes sw_coremap[] and the per-cpu coreisr/sw_coreisr bitmaps with it. Therefore a data value >= 256 reads and writes memory past the end of those arrays, i.e. any process holding a VM fd can corrupt kernel memory beyond the allocation of loongarch_eiointc.

Reject MSI data that doesn't fit in the EIOINTC irq space. The DMSINTC path is unaffected as it decodes the vector from the address and masks it.

Executive ViewAI

Why It Matters

A high-severity memory-corruption flaw (CVE-2026-89907) affects the Linux kernel's LoongArch KVM emulated interrupt controller (EIOINTC), allowing a local user who can access KVM virtual-machine interfaces to read and write host kernel memory outside the intended allocation. Because the flaw breaks the isolation between guest and host on LoongArch virtualization hosts, a compromised or malicious local tenant could escalate to full kernel compromise and potentially affect all workloads on that host. Leadership should care because this directly undermines the security boundary that multi-tenant virtualization depends on, and remediation requires patching and rebooting the affected LoongArch hosts.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
niche LoongArch architecture running KVM virtualization; no mainstream x86/ARM footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in KVM

View all
CVE-2026-27211 CRITICAL
10.0 Feb 21

Arbitrary host file exfiltration from Cloud Hypervisor VMM versions 34.0-50.0. CVSS 10.0. Patch available.

CVE-2026-89930 CRITICAL
9.3 Sep 16

Incorrect handling of queued local TLB flushes in the Linux kernel's KVM nested-VMX (nVMX) implementation can leave stal

CVE-2026-89918 CRITICAL
9.3 Sep 16

Address-rollover bug in the Linux kernel's KVM/arm64 TLB-by-VA invalidation path causes the hypervisor to silently skip

CVE-2026-89916 CRITICAL
9.3 Sep 16

Race conditions in the arm64 KVM path that invalidates VNCR translations can leave a stale stage-1 TLB entry installed f

CVE-2026-89915 CRITICAL
9.3 Sep 16

Missed TLB invalidations in the arm64 KVM nested-virtualization path of the Linux kernel can leave stale translations fo

CVE-2026-89914 CRITICAL
9.3 Sep 16

Range-based TLB invalidation in the arm64 KVM hypervisor of the Linux kernel is computed against the wrong address range

CVE-2026-89913 HIGH
8.8 Sep 16

A use-after-free race in the arm64 KVM vGICv3 code path of the Linux kernel (vgic_v3_save_pending_tables) allows a local

CVE-2026-89959 HIGH
8.8 Sep 16

The s390 vfio-ap mediated device (mdev) driver in the Linux kernel fails to actually revoke crypto control-domain access

CVE-2026-89957 HIGH
8.8 Sep 16

Stale hardware access to unplugged crypto resources in Linux KVM guests on IBM Z (s390) stems from a logic error in the

CVE-2026-89932 HIGH
8.8 Sep 16

Stale TLB entries can be reused by an L2 guest in the Linux kernel's KVM nested virtualization (nVMX) implementation on

CVE-2026-89929 HIGH
8.8 Sep 16

Linux kernel's KVM nested-VMX (nVMX) emulation can leave stale L2 guest TLB entries on a physical CPU, because KVM execu

CVE-2026-89908 HIGH
8.8 Sep 16

On LoongArch hosts running KVM, a memory-slot update that changes only flags (KVM_MR_FLAGS_ONLY, most notably toggling K

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy