{"id":33352,"date":"2026-10-06T20:31:50","date_gmt":"2026-10-06T12:31:50","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98283"},"modified":"2026-10-06T20:31:50","modified_gmt":"2026-10-06T12:31:50","slug":"cve-2026-98283","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98283","title":{"rendered":"CVE-2026-98283 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: PPC: Book3S HV:"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>KVM: PPC: Book3S HV: fix use-after-free in kvmhv_emulate_tlbie_all_lpid()<\/p>\n<p>kvmhv_emulate_tlbie_all_lpid() iterates the nested-guest IDR and drops<br \/>\nmmu_lock before calling kvmhv_emulate_tlbie_lpid(), but does not hold a<br \/>\nreference on the kvm_nested_guest pointer obtained from the IDR.  A<br \/>\nconcurrent vCPU issuing a single-LPID tlbie (is=2, ric=2) can race<br \/>\nthrough kvmhv_flush_nested() -&gt; kvmhv_remove_nested() -&gt; idr_remove \/<br \/>\n&#8211;refcnt -&gt; kvmhv_release_nested() -&gt; kfree(gp) in that window, leaving<br \/>\nthe iterating vCPU with a dangling pointer.  The subsequent<br \/>\nmutex_lock(&amp;gp-&gt;tlb_lock) and accesses to gp-&gt;shadow_pgtable,<br \/>\ngp-&gt;shadow_lpid and gp-&gt;l1_host all touch freed memory.  The free path<br \/>\nis fully L1-controlled.<\/p>\n<p>Fix this by incrementing gp-&gt;refcnt inside the loop before dropping<br \/>\nmmu_lock, mirroring what kvmhv_get_nested() does, and releasing the<br \/>\nreference with kvmhv_put_nested() after the per-guest work completes.<br \/>\nThis is the same get\/put discipline already used at every other<br \/>\ncall site that drops mmu_lock while holding a nested-guest pointer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>KVM: PPC: Book3S HV: fix use-after-free in kvmhv_emulate_tlbie_all_lpid()<\/p>\n<p>kvmhv_emulate_tlbie_all_lpid() iterates the nested-guest<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-33352","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/33352","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=33352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=33352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=33352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}