{"id":7391,"date":"2026-09-04T18:49:32","date_gmt":"2026-09-04T10:49:32","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74430"},"modified":"2026-09-04T18:49:32","modified_gmt":"2026-09-04T10:49:32","slug":"cve-2026-74430","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74430","title":{"rendered":"CVE-2026-74430 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nrxrpc: Fix ACKALL pac"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>rxrpc: Fix ACKALL packet handling<\/p>\n<p>rxrpc_input_ackall() accepts ACKALL packets without checking whether the<br \/>\ncall is in a state that can legitimately have outstanding transmit buffers.<br \/>\nA forged ACKALL can therefore reach a new service call in<br \/>\nRXRPC_CALL_SERVER_RECV_REQUEST before any reply packets have been queued.<\/p>\n<p>In that state call-&gt;tx_top is zero and call-&gt;tx_queue is NULL, so<br \/>\nrxrpc_rotate_tx_window() dereferences a NULL txqueue and triggers a<br \/>\nnull-pointer dereference.<\/p>\n<p>Fix the handling of ACKALL packets by the following means:<\/p>\n<p> (1) Add two new call states: RXRPC_CALL_CLIENT_PRE_SEND which indicates<br \/>\n     that the client call is connected, but nothing has been transmitted as<br \/>\n     yet; and RXRPC_CALL_CLIENT_AWAIT_ACK, which indicates that everything<br \/>\n     has been transmitted at least once, but we&#8217;re now waiting for the<br \/>\n     stuff remaining in the Tx buffer to be ACK&#8217;d (retransmissions may<br \/>\n     still happen).<\/p>\n<p>     The RXRPC_CALL_CLIENT_PRE_SEND state is set when the call is assigned<br \/>\n     a channel and transitions to RXRPC_CALL_CLIENT_SEND_REQUEST when the<br \/>\n     first packet is transmitted.<\/p>\n<p>     RXRPC_CALL_CLIENT_AWAIT_REPLY is then narrowed in scope to indicate<br \/>\n     that all Tx packets have been ACK&#8217;d and we&#8217;re now waiting for the<br \/>\n     reply to be received.<\/p>\n<p> (2) As per Wyatt Feng&#8217;s original patch[1], the ACKALL handler then checks<br \/>\n     that the call state is one in which there might be stuff in the Tx<br \/>\n     buffer to ACK, but now this includes AWAIT_ACK rather than<br \/>\n     AWAIT_REPLY.  ACKALL packets are ignored if received in the wrong<br \/>\n     state.<\/p>\n<p>     Note that unlike Wyatt Feng&#8217;s patch, it&#8217;s no longer necessary to check<br \/>\n     to see if the Tx buffer exists as this the state set now covers this.<\/p>\n<p> (3) Make the ACKALL handler use call-&gt;tx_transmitted rather than<br \/>\n     call-&gt;tx_top as the former is explicitly the highest packet seq number<br \/>\n     transmitted, whereas the latter has a looser definition.<\/p>\n<p>Thanks to Jeffrey Altman for a description of the history of the ACKALL<br \/>\npacket[1].<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>rxrpc: Fix ACKALL packet handling<\/p>\n<p>rxrpc_input_ackall() accepts ACKALL packets without checking whether the<br \/>\ncall is in a state that<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-7391","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/7391","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=7391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}