{"id":25894,"date":"2026-09-18T04:32:02","date_gmt":"2026-09-17T20:32:02","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-92525"},"modified":"2026-09-18T04:32:02","modified_gmt":"2026-09-17T20:32:02","slug":"cve-2026-92525","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-92525","title":{"rendered":"CVE-2026-92525 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA\/rxe: Validate nu"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>RDMA\/rxe: Validate num_sge\/cur_sge before indexing wqe-&gt;dma.sge[]<\/p>\n<p>For a user QP, qp-&gt;sq.queue is a ring the application writes directly,<br \/>\nso rxe_post_send() takes the is_user branch and only schedules send_task<br \/>\nwithout validating the WQE. rxe_requester() consumes it in place via<br \/>\nreq_next_wqe() and calls copy_data(), which indexes<br \/>\n&amp;wqe-&gt;dma.sge[cur_sge] with the attacker-controlled num_sge\/cur_sge.<br \/>\nOnly the kernel path bounds num_sge (validate_send_wr()); the user WQE<br \/>\nis never checked, so a local unprivileged user can post a WQE with an<br \/>\nout-of-range cur_sge or oversized num_sge and force an out-of-bounds<br \/>\nread of the per-WQE sge array in copy_data() (vmalloc OOB read, local<br \/>\nDoS).<\/p>\n<p>Bound num_sge to qp-&gt;sq.max_sge in rxe_requester() before use, the way<br \/>\nget_srq_wqe() already guards SRQ entries, and bound cur_sge only when<br \/>\nthe WQE carries payload (dma.resid): copy_data() returns early on a<br \/>\nzero-length copy before touching dma-&gt;sge[], so a zero-payload WQE &#8212;<br \/>\nthe only kind a max_sge == 0 QP can post &#8212; stays valid.<\/p>\n<p>Reproduced under KASAN; the vmalloc-out-of-bounds in copy_data() is gone.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>RDMA\/rxe: Validate num_sge\/cur_sge before indexing wqe-&gt;dma.sge[]<\/p>\n<p>For a user QP, qp-&gt;sq.queue is a ring the application writes dir<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25894","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25894","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=25894"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25894"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}