CVE-2026-98877 in Linuxinfo

Summary

by MITRE • 10/23/2026

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

irqchip/gic-v4: Don't advertise VLPIs if no ITS is probed

When accidentally setting “kvm-arm.vgic_v4_enable=1” on a system that has no MSI controller device tree node and GICv4, it results a panic as “gic_domain” is NULL and the kernel attempts to access it.

Unable to handle kernel NULL pointer dereference at virtual address 0000000000000028 Mem abort info: ESR = 0x0000000096000006

CPU: 1 UID: 0 PID: 295 Comm: lkvm-static Not tainted 7.1.0-rc4-ge3f15ad3970e #5 PREEMPT Hardware name: linux,dummy-virt (DT) pstate: 81402005 (Nzcv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--) pc : __irq_domain_instantiate+0x1d4/0x578 lr : __irq_domain_instantiate+0x1cc/0x578

Set vLPI support to false at init time if the host has no ITS, so it propagates properly to kvm_vgic_global_state.has_gicv4.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 10/23/2026

The vulnerability identified in the Linux kernel involves a critical flaw within the GIC-v4 interrupt controller driver subsystem, specifically concerning the initialization sequence for Virtual Locality Interrupts or VLPIs. This issue manifests when the KVM ARM hypervisor configuration parameter vgic_v4_enable is explicitly set to one on hardware platforms that lack an MSI (Message Signaled Interrupt) controller device tree node and do not support GICv4 features. Under these specific conditions, the kernel attempts to access a NULL pointer designated as gic_domain during the interrupt domain instantiation phase. This erroneous memory access triggers a fatal kernel panic characterized by a null pointer dereference at virtual address zero, effectively causing an immediate denial of service for the system and any running virtual machines that depend on this hypervisor configuration.

From a technical perspective, the root cause lies in insufficient validation logic during the early boot process where hardware capabilities are probed and advertised to higher-level subsystems like KVM. The driver fails to verify the presence of an Interrupt Translation Service or ITS before advertising VLPI support. Consequently, when the kernel attempts to instantiate the interrupt domain for GICv4 operations, it references a data structure that was never allocated because the underlying hardware prerequisites were not met. This results in a crash within the __irq_domain_instantiate function as indicated by the stack trace, highlighting a failure in defensive programming practices where assumptions about hardware availability are made without rigorous checks against actual device tree configurations.

The operational impact of this vulnerability is severe for administrators and developers utilizing KVM on ARM-based systems with GICv4 capabilities or attempting to enable experimental features. An attacker who can influence boot parameters or configuration files could trigger this condition, leading to a complete system crash. This represents a classic denial-of-service scenario where the stability of the host operating system is compromised by misconfiguration rather than malicious exploitation in the traditional sense, though it highlights a significant robustness gap in the kernel's initialization routines. The lack of proper error handling means that even minor configuration errors can result in total system unavailability requiring a reboot to recover.

To mitigate this risk, the primary remediation involves ensuring that VLPI support is explicitly disabled at initialization time if the host hardware does not include an ITS controller. This logic ensures that the flag has_gicv4 within the kvm_vgic_global_state structure remains false when appropriate, preventing subsequent code paths from attempting to access non-existent interrupt domains. System administrators should verify their device tree configurations and avoid enabling vgic_v4_enable unless they are certain of GICv4 hardware support. Furthermore, developers must implement stricter checks in the irqchip/gic-v4 driver to validate the presence of required MSI controller nodes before advertising VLPI capabilities, aligning with best practices for safe resource management and error handling in kernel space.

This vulnerability is categorized under CWE-476 which denotes a NULL Pointer Dereference, indicating that the software performs an operation on a pointer variable when its value is null. In terms of attack vectors and techniques, this relates to CWE-20 Improper Input Validation as the system fails to properly validate input parameters related to hardware capability detection during boot configuration. While not directly mapped to a specific MITRE ATT&CK technique due to its nature as an initialization crash rather than an exploit chain, it reflects weaknesses in defensive coding that could potentially be leveraged for denial-of-service attacks if an attacker gains control over kernel command line arguments or hypervisor settings. Addressing this issue requires both immediate patching of the driver logic and long-term improvements in hardware capability probing mechanisms to prevent similar null pointer dereferences in other subsystems.

Responsible

Linux

Reservation

09/25/2026

Disclosure

10/23/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!