{"id":21452,"date":"2026-09-12T04:31:12","date_gmt":"2026-09-11T20:31:12","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89530"},"modified":"2026-09-12T04:31:12","modified_gmt":"2026-09-11T20:31:12","slug":"cve-2026-89530","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89530","title":{"rendered":"CVE-2026-89530 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nsvcrdma: Reject inlin"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>svcrdma: Reject inline replies that overflow the pull-up buffer<\/p>\n<p>An RPC-over-RDMA client can request a reply, such as an NFS READ<br \/>\npayload, without providing a Write list or a Reply chunk to carry<br \/>\nit. When such a reply needs more scatter\/gather entries than the<br \/>\ndevice&#8217;s Send Queue supports, svc_rdma_pull_up_needed() selects<br \/>\npull-up and svc_rdma_pull_up_reply_msg() linearizes the whole<br \/>\nreply into sctxt-&gt;sc_xprt_buf. That buffer is only sc_max_req_size<br \/>\nbytes, while the reply on this path is bounded only by the client&#8217;s<br \/>\nrequest, so svc_rdma_xb_linearize() copies past the end of the<br \/>\nbuffer and corrupts adjacent slab memory. The oversized length is<br \/>\nthen stored in sc_sges[0].length and posted, so the device also<br \/>\nreads beyond the mapped region.<\/p>\n<p>The SGE-exhaustion branch is the only pull-up path that can exceed<br \/>\nthe buffer: the threshold branch pulls up only replies smaller<br \/>\nthan RPCRDMA_PULLUP_THRESH, and replies that fit the device&#8217;s SGE<br \/>\nbudget are sent directly without linearization. Make<br \/>\nsvc_rdma_pull_up_needed() report -E2BIG when the reply it would<br \/>\npull up cannot fit sc_max_req_size, and fail the request with<br \/>\nERR_CHUNK as RFC 8166 Section 4.5.3 directs rather than dropping<br \/>\nthe connection.<\/p>\n<p>The helper no longer answers a simple yes\/no question: it now<br \/>\nreports pull-up, no pull-up, or -E2BIG for a reply too large to<br \/>\nlinearize. Rename svc_rdma_pull_up_needed() to<br \/>\nsvc_rdma_check_pull_up() so its name no longer implies a boolean<br \/>\npredicate.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>svcrdma: Reject inline replies that overflow the pull-up buffer<\/p>\n<p>An RPC-over-RDMA client can request a reply, such as an NFS READ<br \/>\np<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21452","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21452","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=21452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}