{"id":12898,"date":"2026-09-04T18:59:44","date_gmt":"2026-09-04T10:59:44","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-53362"},"modified":"2026-09-04T18:59:44","modified_gmt":"2026-09-04T10:59:44","slug":"cve-2026-53362","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-53362","title":{"rendered":"CVE-2026-53362 [HIGH] [\u5728\u91ce] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: account for fra"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipv6: account for fraggap on the paged allocation path<\/p>\n<p>In __ip6_append_data(), when the paged-allocation branch is taken<br \/>\n(MSG_MORE \/ NETIF_F_SG \/ large fraglen), alloclen and pagedlen are<br \/>\ncomputed as<\/p>\n<p>\talloclen = fragheaderlen + transhdrlen;<br \/>\n\tpagedlen = datalen &#8211; transhdrlen;<\/p>\n<p>datalen already includes fraggap (datalen = length + fraggap). When<br \/>\nfraggap is non-zero, this is not the first skb and transhdrlen is zero.<br \/>\nThe fraggap bytes carried over from the previous skb are copied just past<br \/>\nthe fragment headers in the new skb&#8217;s linear area. The linear area is<br \/>\ntherefore undersized by fraggap bytes while pagedlen is overstated by the<br \/>\nsame amount, and the copy writes past skb-&gt;end into the trailing<br \/>\nskb_shared_info.<\/p>\n<p>An unprivileged user can trigger this via a UDPv6 socket using<br \/>\nMSG_MORE together with MSG_SPLICE_PAGES.<\/p>\n<p>The bad accounting was introduced by commit 773ba4fe9104 (&#8220;ipv6:<br \/>\navoid partial copy for zc&#8221;). Before commit ce650a166335 (&#8220;udp6: Fix<br \/>\n__ip6_append_data()&#8217;s handling of MSG_SPLICE_PAGES&#8221;), the negative<br \/>\ncopy value caused -EINVAL to be returned. That later commit allowed<br \/>\nMSG_SPLICE_PAGES to proceed in this case, making the corruption<br \/>\ntriggerable.<\/p>\n<p>The non-paged branch sets alloclen to fraglen, which already accounts<br \/>\nfor fraggap because datalen does. Bring the paged branch in line by<br \/>\nadding fraggap to alloclen and subtracting it from pagedlen.<\/p>\n<p>After this adjustment, copy no longer collapses to -fraggap on the<br \/>\npaged path, so remove the stale comment describing that old arithmetic.<br \/>\nSince a negative copy is no longer expected for a valid MSG_SPLICE_PAGES<br \/>\ncase, remove the MSG_SPLICE_PAGES exception from the negative copy check.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipv6: account for fraggap on the paged allocation path<\/p>\n<p>In __ip6_append_data(), when the paged-allocation branch is taken<br \/>\n(MSG_MORE<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-12898","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/12898","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=12898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}