<?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:30:59 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-71085 — ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-71085</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP, Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP, Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()&lt;/p&gt;
&lt;p&gt;There exists a kernel oops caused by a BUG_ON(nhead &amp;lt; 0) at
net/core/skbuff.c:2232 in pskb_expand_head().
This bug is triggered as part of the calipso_skbuff_setattr()
routine when skb_cow() is passed headroom &amp;gt; INT_MAX
(i.e. (int)(skb_headroom(skb) + len_delta) &amp;lt; 0).&lt;/p&gt;
&lt;p&gt;The root cause of the bug is due to an implicit integer cast in
__skb_cow(). The check (headroom &amp;gt; skb_headroom(skb)) is meant to ensure
that delta = headroom - skb_headroom(skb) is never negative, otherwise
we will trigger a BUG_ON in pskb_expand_head(). However, if
headroom &amp;gt; INT_MAX and delta &amp;lt;= -NET_SKB_PAD, the check passes, delta
becomes negative, and pskb_expand_head() is passed a negative value for
nhead.&lt;/p&gt;
&lt;p&gt;Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing
&amp;#34;negative&amp;#34; headroom sizes to skb_cow() within calipso_skbuff_setattr()
by only using skb_cow() to grow headroom.&lt;/p&gt;
&lt;p&gt;PoC:
	Using `netlabelctl` tool:&lt;/p&gt;
&lt;p&gt;netlabelctl map del default
        netlabelctl calipso add pass doi:7
        netlabelctl map add default address:0::1/128 protocol:calipso,7&lt;/p&gt;
&lt;p&gt;Then run the following PoC:&lt;/p&gt;
&lt;p&gt;int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);&lt;/p&gt;
&lt;p&gt;// setup msghdr
        int cmsg_size = 2;
        int cmsg_len = 0x60;
        struct msghdr msg;
        struct sockaddr_in6 dest_addr;
        struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP, Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP, Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()&lt;/p&gt;
&lt;p&gt;There exists a kernel oops caused by a BUG_ON(nhead &amp;lt; 0) at
net/core/skbuff.c:2232 in pskb_expand_head().
This bug is triggered as part of the calipso_skbuff_setattr()
routine when skb_cow() is passed headroom &amp;gt; INT_MAX
(i.e. (int)(skb_headroom(skb) + len_delta) &amp;lt; 0).&lt;/p&gt;
&lt;p&gt;The root cause of the bug is due to an implicit integer cast in
__skb_cow(). The check (headroom &amp;gt; skb_headroom(skb)) is meant to ensure
that delta = headroom - skb_headroom(skb) is never negative, otherwise
we will trigger a BUG_ON in pskb_expand_head(). However, if
headroom &amp;gt; INT_MAX and delta &amp;lt;= -NET_SKB_PAD, the check passes, delta
becomes negative, and pskb_expand_head() is passed a negative value for
nhead.&lt;/p&gt;
&lt;p&gt;Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing
&amp;#34;negative&amp;#34; headroom sizes to skb_cow() within calipso_skbuff_setattr()
by only using skb_cow() to grow headroom.&lt;/p&gt;
&lt;p&gt;PoC:
	Using `netlabelctl` tool:&lt;/p&gt;
&lt;p&gt;netlabelctl map del default
        netlabelctl calipso add pass doi:7
        netlabelctl map add default address:0::1/128 protocol:calipso,7&lt;/p&gt;
&lt;p&gt;Then run the following PoC:&lt;/p&gt;
&lt;p&gt;int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);&lt;/p&gt;
&lt;p&gt;// setup msghdr
        int cmsg_size = 2;
        int cmsg_len = 0x60;
        struct msghdr msg;
        struct sockaddr_in6 dest_addr;
        struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-71085</guid>
    </item>
  </channel>
</rss>
