{"id":28492,"date":"2026-09-25T00:31:33","date_gmt":"2026-09-24T16:31:33","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93228"},"modified":"2026-09-25T00:31:33","modified_gmt":"2026-09-24T16:31:33","slug":"cve-2026-93228","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93228","title":{"rendered":"CVE-2026-93228 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nsvcrdma: Reject Write"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>svcrdma: Reject Write\/Reply chunks with segcount 0<\/p>\n<p>A peer can send a Write or Reply chunk whose segcount field is zero.<br \/>\nxdr_check_write_chunk() only rejects segcount &gt; rc_maxpages, so zero<br \/>\npasses the range check, and xdr_inline_decode(stream, 0) returns the<br \/>\ncurrent (non-NULL) cursor without advancing. The function returns<br \/>\ntrue and pcl_alloc_write() then links a struct svc_rdma_chunk with<br \/>\nch_segcount == 0 onto rc_write_pcl or rc_reply_pcl.<\/p>\n<p>An earlier patch in this series made pcl_for_each_segment() safe for<br \/>\nch_segcount == 0, so this no longer drives the memory walk it used<br \/>\nto. Rejecting the malformed frame at the decode boundary is still<br \/>\nworthwhile as defense in depth: it keeps degenerate zero-segment<br \/>\nchunks off the parsed chunk lists entirely, so any future consumer<br \/>\nthat walks ch_segments directly cannot observe one, and it makes the<br \/>\nzero-floor easy to backport to trees where the macro change is more<br \/>\nintrusive. RFC 8166 has no meaning for a Write\/Reply chunk that<br \/>\ndescribes no remote buffer, so no legitimate client is affected.<\/p>\n<p>xdr_check_reply_chunk() funnels Reply chunks through<br \/>\nxdr_check_write_chunk() and inherits the same rejection.<\/p>\n<p>pcl_alloc_write() also links each chunk onto the parsed chunk list<br \/>\nbefore filling its segment array. If a future change weakens the<br \/>\nsegcount-0 rejection, an incomplete chunk is visible to consumers<br \/>\nduring the fill loop. Reorder so that list_add_tail() follows the<br \/>\nsegment fill loop, ensuring only fully-populated chunks appear on<br \/>\nthe list.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>svcrdma: Reject Write\/Reply chunks with segcount 0<\/p>\n<p>A peer can send a Write or Reply chunk whose segcount field is zero.<br \/>\nxdr_check_<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-28492","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/28492","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=28492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}