Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
eff484e0298da5a4d18ca82f5454c557fd942af5 to < dd0c3e6c03e3bb3fd7c0fa422230020674c5c25eaffectedeff484e0298da5a4d18ca82f5454c557fd942af5 to < 2c3a87ad3d3935c43d465cd2465db9020f9e898faffectedeff484e0298da5a4d18ca82f5454c557fd942af5 to < 3d4c26b16a04a084fe0bde08ccdd8086570f8bbeaffectedeff484e0298da5a4d18ca82f5454c557fd942af5 to < 36df368861d2664291298feeb37dfef43fcae670affectedeff484e0298da5a4d18ca82f5454c557fd942af5 to < c6c156d931c33b92362383cf76f6d6e1291dcbfeaffected
Linux Linux
Default version status: affected
4.12affected0 to < 4.12unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.51 to ≤ 6.18.*unaffected7.2.5 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/dd0c3e6c03e3bb3fd7c0fa422230020674c5c25e ↗
- https://git.kernel.org/stable/c/2c3a87ad3d3935c43d465cd2465db9020f9e898f ↗
- https://git.kernel.org/stable/c/3d4c26b16a04a084fe0bde08ccdd8086570f8bbe ↗
- https://git.kernel.org/stable/c/36df368861d2664291298feeb37dfef43fcae670 ↗
- https://git.kernel.org/stable/c/c6c156d931c33b92362383cf76f6d6e1291dcbfe ↗