{"id":6909,"date":"2026-09-04T18:49:21","date_gmt":"2026-09-04T10:49:21","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72289"},"modified":"2026-09-04T18:49:21","modified_gmt":"2026-09-04T10:49:21","slug":"cve-2026-72289","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72289","title":{"rendered":"CVE-2026-72289 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: arm64: vgic: Che"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>KVM: arm64: vgic: Check the interrupt is still ours before migrating it<\/p>\n<p>vgic_prune_ap_list() drops both ap_list_lock and irq_lock while migrating<br \/>\nan interrupt to another vCPU. After reacquiring the locks it only checks<br \/>\nthat the affinity is unchanged (target_vcpu == vgic_target_oracle(irq))<br \/>\nbefore moving the interrupt, which assumes that an interrupt whose affinity<br \/>\nis preserved is still queued on this vCPU&#8217;s ap_list.<\/p>\n<p>That assumption no longer holds if the interrupt is taken off the ap_list<br \/>\nwhile the locks are dropped. vgic_flush_pending_lpis() removes the<br \/>\ninterrupt from the list and sets irq-&gt;vcpu to NULL, but leaves<br \/>\nenabled\/pending\/target_vcpu untouched. As the interrupt is still enabled<br \/>\nand pending, vgic_target_oracle() returns the same target_vcpu, so the<br \/>\naffinity check passes and list_del() is run a second time on an entry that<br \/>\nhas already been removed.<\/p>\n<p>Also check that the interrupt is still assigned to this vCPU<br \/>\n(irq-&gt;vcpu == vcpu) before moving it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>KVM: arm64: vgic: Check the interrupt is still ours before migrating it<\/p>\n<p>vgic_prune_ap_list() drops both ap_list_lock and irq_lock <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-6909","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/6909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}