{"id":21463,"date":"2026-09-12T04:31:13","date_gmt":"2026-09-11T20:31:13","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89541"},"modified":"2026-09-12T04:31:13","modified_gmt":"2026-09-11T20:31:13","slug":"cve-2026-89541","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89541","title":{"rendered":"CVE-2026-89541 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nSUNRPC: harden gss_un"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>SUNRPC: harden gss_unwrap_resp_priv length checks<\/p>\n<p>gss_unwrap_resp_priv() validates the RPCSEC_GSS opaque length with<\/p>\n<p>    offset = (u8 *)(p) &#8211; (u8 *)head-&gt;iov_base;<br \/>\n    if (offset + opaque_len &gt; rcv_buf-&gt;len)<br \/>\n            goto unwrap_failed;<br \/>\n    maj_stat = gss_unwrap(ctx-&gt;gc_gss_ctx, offset,<br \/>\n                          offset + opaque_len, rcv_buf);<\/p>\n<p>Both operands are u32 and the sum is computed in u32. A reply with<br \/>\nopaque_len near 0xffffffff makes offset + opaque_len wrap to a small<br \/>\nvalue that is below rcv_buf-&gt;len, so the bound check passes and<br \/>\ngss_unwrap() is called with end  rcv_buf-&gt;len)<br \/>\n            goto unwrap_failed;<br \/>\n    if (opaque_len &gt; rcv_buf-&gt;len &#8211; offset)<br \/>\n            goto unwrap_failed;<br \/>\n    if (opaque_len &lt; GSS_KRB5_TOK_HDR_LEN)<br \/>\n            goto unwrap_failed;<\/p>\n<p>The first guard makes the subtraction in the second guard<br \/>\nunconditionally safe; offset is derived from a successful<br \/>\nxdr_inline_decode() in the head kvec, so in practice it already<br \/>\nsatisfies the bound. The floor mirrors the server-side check added<br \/>\nin commit 5b757c2e57a5 (&quot;SUNRPC: svcauth_gss: enforce krb5 token<br \/>\nminimum length&quot;).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>SUNRPC: harden gss_unwrap_resp_priv length checks<\/p>\n<p>gss_unwrap_resp_priv() validates the RPCSEC_GSS opaque length with<\/p>\n<p>    offset =<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21463","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21463","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=21463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}