{"id":12345,"date":"2026-09-04T18:54:17","date_gmt":"2026-09-04T10:54:17","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80693"},"modified":"2026-09-04T18:54:17","modified_gmt":"2026-09-04T10:54:17","slug":"cve-2026-80693","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80693","title":{"rendered":"CVE-2026-80693 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nidpf: bound interrupt"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>idpf: bound interrupt-vector register fill to the allocated array<\/p>\n<p>idpf_get_reg_intr_vecs() fills the caller-allocated reg_vals[] array from<br \/>\nthe VIRTCHNL2_OP_ALLOC_VECTORS reply in adapter-&gt;req_vec_chunks, bounding<br \/>\nits inner loop only by the per-chunk num_vectors. The array is sized<br \/>\nseparately: idpf_intr_reg_init() allocates<br \/>\nkzalloc_objs(struct idpf_vec_regs, total_vecs) from<br \/>\ncaps.num_allocated_vectors and only checks the returned count after the<br \/>\nfill. The sum of per-chunk num_vectors is never reconciled against<br \/>\ntotal_vecs, so a reply with a small num_allocated_vectors but chunks<br \/>\nsumming higher writes past the end of reg_vals[].<\/p>\n<p>Impact: a control plane (a PF or hypervisor device model) that returns a<br \/>\nVIRTCHNL2_OP_ALLOC_VECTORS reply whose per-chunk num_vectors sum exceeds<br \/>\nnum_allocated_vectors writes struct idpf_vec_regs entries past the end of<br \/>\nthe reg_vals kmalloc allocation (KASAN slab-out-of-bounds write).<\/p>\n<p>Bound the fill loop to the array capacity passed in by the callers,<br \/>\nmirroring the sibling idpf_vport_get_q_reg(). The existing<br \/>\nnum_regs &lt; num_vecs check then rejects an undersized reply without the<br \/>\nout-of-bounds write happening first.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>idpf: bound interrupt-vector register fill to the allocated array<\/p>\n<p>idpf_get_reg_intr_vecs() fills the caller-allocated reg_vals[] a<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-12345","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/12345","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=12345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}