CVE-2026-89912: KVM: arm64: vgic-its: Don't dereference a NULL collection on ITT save

Published Sep 16, 2026
·
Updated

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

KVM: arm64: vgic-its: Don't dereference a NULL collection on ITT save

MAPC with V=0 drops ite->collection but leaves the ITE on the device's ITT list, and vgicitssaveite() dereferences it unconditionally. A guest that issues MAPD, MAPTI and then MAPC(V=0) therefore oopses the host when the VMM issues KVMDEVARMITSSAVETABLES to migrate it. That sequence is UNPREDICTABLE per the architecture, but KVM already handles the resulting state in the translate, MOVI and DISCARD paths.

Save a zeroed entry, which vgicitsrestoreite() reads back as invalid. Skipping the ITE instead would leave the ITT slot holding whatever is in guest memory, and restore rejects an entry naming a collection the restored collection table does not have.

Affected Software

1 affected component
Linux Kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    If you have a guest/workload that can issue MAPD, MAPTI, and then MAPC with V=0, treat it as risky until KVM arm64 vgic-its is fixed, since that sequence can trigger a host oops.

Event History

Sep 16, 2026
CVE Published
via MITRE·10:32 AM
Data Sourced
via MITRE·10:32 AM
Description

Frequently Asked Questions

1

Which environments are exposed to this issue?

The issue affects arm64 KVM environments using the virtual GIC Interrupt Translation Service (vgic-its) when the VMM saves ITS tables for migration via KVM_DEV_ARM_ITS_SAVE_TABLES. It is triggered by state associated with a guest device's interrupt translation table.

2

What guest activity is required to trigger the host failure?

A guest must issue MAPD, MAPTI, and then MAPC with V=0. This drops the ITE collection while leaving the ITE on the device ITT list; a subsequent ITS-table save dereferences the missing collection and can oops the host.

3

How can an administrator recognize that this issue has occurred?

The observable result is a host oops when the VMM attempts to save ITS tables for migration after the affected guest command sequence. The triggering command sequence is architecturally UNPREDICTABLE, although KVM handles the resulting state in several other paths.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203