{"id":7344,"date":"2026-09-04T18:49:31","date_gmt":"2026-09-04T10:49:31","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74390"},"modified":"2026-09-04T18:49:31","modified_gmt":"2026-09-04T10:49:31","slug":"cve-2026-74390","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74390","title":{"rendered":"CVE-2026-74390 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA\/irdma: Fix out-o"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>RDMA\/irdma: Fix out-of-bounds write in irdma_copy_user_pgaddrs<\/p>\n<p>The irdma_copy_user_pgaddrs function loops through all of the umem DMA<br \/>\nblocks to populate the PBLEs and will stop when either the last DMA<br \/>\nblock is reached or palloc-&gt;total_cnt is reached. The issue is that<br \/>\nthe logic for checking palloc-&gt;total_cnt would only work for non-zero<br \/>\nvalues.<\/p>\n<p>When irdma_setup_pbles is called with lvl==0, it<br \/>\ncalls irdma_copy_user_pgaddrs with palloc-&gt;total_cnt==0, which means<br \/>\nthe only way to break out of the loop is to reach the last umem DMA<br \/>\nblock, which means it could end up going beyond the fixed size of 4<br \/>\niwmr-&gt;pgaddrmem array that is used in the lvl==0 case.<\/p>\n<p>In the case of QP\/CQ\/SRQ rings, the value of lvl is determined by a<br \/>\nseparate input (for example, req.cq_pages in the case of a CQ). So,<br \/>\nwe must perform explicit checking to ensure we don&#8217;t overflow the<br \/>\npgaddrmem array if the user provides a umem that consists of more<br \/>\nblocks than their provided req.cq_pages.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>RDMA\/irdma: Fix out-of-bounds write in irdma_copy_user_pgaddrs<\/p>\n<p>The irdma_copy_user_pgaddrs function loops through all of the umem <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-7344","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/7344","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=7344"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7344"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}