CVE Catalog

CVE-2026-89912

HighCVSS 7.1
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel, vgic_its_save_ite() in KVM arm64 unconditionally dereferences ite->collection, which can be NULL after a MAPC with V=0. A guest issuing MAPD, MAPTI, then MAPC(V=0) can cause a host kernel oops when the VMM issues KVM_DEV_ARM_ITS_SAVE_TABLES for migration. The fix saves a zeroed entry, which is read back as invalid on restore.

Risk Assessment

This can lead to a host kernel oops and denial of service during VM migration. It affects KVM on arm64 environments with virtual ITS.

Recommendation

Update the Linux kernel to a version containing the fix. Avoid migrating VMs with ITS enabled until patched.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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 vgic_its_save_ite() dereferences it unconditionally. A guest that issues MAPD, MAPTI and then MAPC(V=0) therefore oopses the host when the VMM issues KVM_DEV_ARM_ITS_SAVE_TABLES 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 vgic_its_restore_ite() 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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS