<?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 03:07:47 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-98095 — af_packet: Don't cast tpacket_hdr.tp_len to int in tpacket_parse_header().</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-98095</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;af_packet: Don&amp;#39;t cast tpacket_hdr.tp_len to int in tpacket_parse_header().&lt;/p&gt;
&lt;p&gt;syzbot reported BUG() in sock_sendmsg_nosec(). [0]&lt;/p&gt;
&lt;p&gt;The problem is that tpacket_parse_header() casts user-provided
tpacket_hdr.tp_len, which is u32, to int.&lt;/p&gt;
&lt;p&gt;If the length is larger than INT_MAX, the following condition
in tpacket_parse_header() passes,&lt;/p&gt;
&lt;p&gt;if (unlikely(tp_len &amp;gt; size_max))&lt;/p&gt;
&lt;p&gt;and any negative value can be returned to the caller, up to
sock_sendmsg_nosec().&lt;/p&gt;
&lt;p&gt;The repro set tpacket_hdr.tp_len to 0xfffffdef, which is cast
to -EIOCBQUEUED (-529), triggering BUG() in sock_sendmsg_nosec().&lt;/p&gt;
&lt;p&gt;*(uint64_t*)0x200000000008 = 0xfffffdef;
  ...
  syscall(__NR_write, /*fd=*/r[0], /*buf=*/0x200000000000ul, /*count=*/1ul);&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s define the local tp_len as u32 in tpacket_parse_header().&lt;/p&gt;
&lt;p&gt;[0]:
kernel BUG at net/socket.c:803!
Oops: invalid opcode: 0000 [#1] SMP KASAN PTI
CPU: 0 UID: 0 PID: 5628 Comm: syz-executor176 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:sock_sendmsg_nosec+0x145/0x180 net/socket.c:803
Code: 06 67 48 0f b9 3a eb 95 e8 e8 3a 22 f8 48 89 df 4c 89 f6 4c 89 e2 4d 89 fb 2e e8 32 a5 5c 16 e9 51 ff ff ff e8 cc 3a 22 f8 90 &amp;lt;0f&amp;gt; 0b e8 c4 3a 22 f8 48 83 c3 18 48 89 d8 48 c1 e8 03 42 80 3c 28
RSP: 0018:ffffc90003aefb48 EFLAGS: 00010293
RAX: ffffffff89a578d4 RBX: ffff8880764c67c0 RCX: ffff88807fb23e80
RDX: 0000000000000000 RSI: 000000…&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;af_packet: Don&amp;#39;t cast tpacket_hdr.tp_len to int in tpacket_parse_header().&lt;/p&gt;
&lt;p&gt;syzbot reported BUG() in sock_sendmsg_nosec(). [0]&lt;/p&gt;
&lt;p&gt;The problem is that tpacket_parse_header() casts user-provided
tpacket_hdr.tp_len, which is u32, to int.&lt;/p&gt;
&lt;p&gt;If the length is larger than INT_MAX, the following condition
in tpacket_parse_header() passes,&lt;/p&gt;
&lt;p&gt;if (unlikely(tp_len &amp;gt; size_max))&lt;/p&gt;
&lt;p&gt;and any negative value can be returned to the caller, up to
sock_sendmsg_nosec().&lt;/p&gt;
&lt;p&gt;The repro set tpacket_hdr.tp_len to 0xfffffdef, which is cast
to -EIOCBQUEUED (-529), triggering BUG() in sock_sendmsg_nosec().&lt;/p&gt;
&lt;p&gt;*(uint64_t*)0x200000000008 = 0xfffffdef;
  ...
  syscall(__NR_write, /*fd=*/r[0], /*buf=*/0x200000000000ul, /*count=*/1ul);&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s define the local tp_len as u32 in tpacket_parse_header().&lt;/p&gt;
&lt;p&gt;[0]:
kernel BUG at net/socket.c:803!
Oops: invalid opcode: 0000 [#1] SMP KASAN PTI
CPU: 0 UID: 0 PID: 5628 Comm: syz-executor176 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:sock_sendmsg_nosec+0x145/0x180 net/socket.c:803
Code: 06 67 48 0f b9 3a eb 95 e8 e8 3a 22 f8 48 89 df 4c 89 f6 4c 89 e2 4d 89 fb 2e e8 32 a5 5c 16 e9 51 ff ff ff e8 cc 3a 22 f8 90 &amp;lt;0f&amp;gt; 0b e8 c4 3a 22 f8 48 83 c3 18 48 89 d8 48 c1 e8 03 42 80 3c 28
RSP: 0018:ffffc90003aefb48 EFLAGS: 00010293
RAX: ffffffff89a578d4 RBX: ffff8880764c67c0 RCX: ffff88807fb23e80
RDX: 0000000000000000 RSI: 000000…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-98095</guid>
    </item>
  </channel>
</rss>
