<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 02:15:44 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-53362 — ipv6: account for fraggap on the paged allocation path</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-53362</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;ipv6: account for fraggap on the paged allocation path&lt;/p&gt;
&lt;p&gt;In __ip6_append_data(), when the paged-allocation branch is taken
(MSG_MORE / NETIF_F_SG / large fraglen), alloclen and pagedlen are
computed as&lt;/p&gt;
&lt;p&gt;alloclen = fragheaderlen + transhdrlen;
	pagedlen = datalen - transhdrlen;&lt;/p&gt;
&lt;p&gt;datalen already includes fraggap (datalen = length + fraggap). When
fraggap is non-zero, this is not the first skb and transhdrlen is zero.
The fraggap bytes carried over from the previous skb are copied just past
the fragment headers in the new skb&amp;#39;s linear area. The linear area is
therefore undersized by fraggap bytes while pagedlen is overstated by the
same amount, and the copy writes past skb-&amp;gt;end into the trailing
skb_shared_info.&lt;/p&gt;
&lt;p&gt;An unprivileged user can trigger this via a UDPv6 socket using
MSG_MORE together with MSG_SPLICE_PAGES.&lt;/p&gt;
&lt;p&gt;The bad accounting was introduced by commit 773ba4fe9104 (&amp;#34;ipv6:
avoid partial copy for zc&amp;#34;). Before commit ce650a166335 (&amp;#34;udp6: Fix
__ip6_append_data()&amp;#39;s handling of MSG_SPLICE_PAGES&amp;#34;), the negative
copy value caused -EINVAL to be returned. That later commit allowed
MSG_SPLICE_PAGES to proceed in this case, making the corruption
triggerable.&lt;/p&gt;
&lt;p&gt;The non-paged branch sets alloclen to fraglen, which already accounts
for fraggap because datalen does. Bring the paged branch in line by
adding fraggap to alloclen and subtracting it from pagedlen.&lt;/p&gt;
&lt;p&gt;After this adjustment, copy no longer collapses to -fraggap…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;ipv6: account for fraggap on the paged allocation path&lt;/p&gt;
&lt;p&gt;In __ip6_append_data(), when the paged-allocation branch is taken
(MSG_MORE / NETIF_F_SG / large fraglen), alloclen and pagedlen are
computed as&lt;/p&gt;
&lt;p&gt;alloclen = fragheaderlen + transhdrlen;
	pagedlen = datalen - transhdrlen;&lt;/p&gt;
&lt;p&gt;datalen already includes fraggap (datalen = length + fraggap). When
fraggap is non-zero, this is not the first skb and transhdrlen is zero.
The fraggap bytes carried over from the previous skb are copied just past
the fragment headers in the new skb&amp;#39;s linear area. The linear area is
therefore undersized by fraggap bytes while pagedlen is overstated by the
same amount, and the copy writes past skb-&amp;gt;end into the trailing
skb_shared_info.&lt;/p&gt;
&lt;p&gt;An unprivileged user can trigger this via a UDPv6 socket using
MSG_MORE together with MSG_SPLICE_PAGES.&lt;/p&gt;
&lt;p&gt;The bad accounting was introduced by commit 773ba4fe9104 (&amp;#34;ipv6:
avoid partial copy for zc&amp;#34;). Before commit ce650a166335 (&amp;#34;udp6: Fix
__ip6_append_data()&amp;#39;s handling of MSG_SPLICE_PAGES&amp;#34;), the negative
copy value caused -EINVAL to be returned. That later commit allowed
MSG_SPLICE_PAGES to proceed in this case, making the corruption
triggerable.&lt;/p&gt;
&lt;p&gt;The non-paged branch sets alloclen to fraglen, which already accounts
for fraggap because datalen does. Bring the paged branch in line by
adding fraggap to alloclen and subtracting it from pagedlen.&lt;/p&gt;
&lt;p&gt;After this adjustment, copy no longer collapses to -fraggap…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-53362</guid>
    </item>
  </channel>
</rss>
