<?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://db.gcve.eu</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, 03 Nov 2026 09:23:31 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-98801 — net: restrict SO_RESERVE_MEM to TCP sockets and cap max value</title>
      <link>https://db.gcve.eu/vuln/cve-2026-98801</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: restrict SO_RESERVE_MEM to TCP sockets and cap max value&lt;/p&gt;
&lt;p&gt;Commit 2bb2f5fb21b0 (&amp;#34;net: add new socket option SO_RESERVE_MEM&amp;#34;) and
commit d00c8ee31729 (&amp;#34;net: fix possible NULL deref in sock_reserve_memory&amp;#34;)
only checked sk_has_account(sk), which is true for both TCP and UDP
sockets.&lt;/p&gt;
&lt;p&gt;However, SO_RESERVE_MEM and sk_unused_reserved_mem() are currently only
supported by TCP:
- On UDP sockets, sk-&amp;gt;sk_forward_alloc is protected by
  sk-&amp;gt;sk_receive_queue.lock, whereas sock_reserve_memory() and
  sock_release_reserved_memory() only acquire lock_sock(sk). Concurrent
  UDP packet reception/release and setsockopt(SO_RESERVE_MEM) corrupt
  sk_forward_alloc and memcg accounting.
- udp_rmem_release() reclaims excess sk_forward_alloc without
  accounting for sk_unused_reserved_mem(sk).&lt;/p&gt;
&lt;p&gt;Restrict sock_reserve_memory() to TCP sockets (sk_is_tcp(sk)) for now.
Supporting SO_RESERVE_MEM for UDP (acquiring sk_receive_queue.lock and
honoring sk_unused_reserved_mem() in udp_rmem_release()) can be done in
a future net-next series if needed.&lt;/p&gt;
&lt;p&gt;In addition, reject val &amp;gt; SZ_1G with -EINVAL in
sk_setsockopt(SO_RESERVE_MEM). Without an upper bound, values near
INT_MAX cause sk_mem_pages(delta) and (pages &amp;lt;&amp;lt; PAGE_SHIFT) to overflow
32-bit signed int, corrupting sk-&amp;gt;sk_forward_alloc and
sk-&amp;gt;sk_reserved_mem. Using a page-aligned cap (SZ_1G) ensures that the
page-rounded sk-&amp;gt;sk_reserved_mem reported by getsockopt(SO_RESERVE_MEM)
can alwa…&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: restrict SO_RESERVE_MEM to TCP sockets and cap max value&lt;/p&gt;
&lt;p&gt;Commit 2bb2f5fb21b0 (&amp;#34;net: add new socket option SO_RESERVE_MEM&amp;#34;) and
commit d00c8ee31729 (&amp;#34;net: fix possible NULL deref in sock_reserve_memory&amp;#34;)
only checked sk_has_account(sk), which is true for both TCP and UDP
sockets.&lt;/p&gt;
&lt;p&gt;However, SO_RESERVE_MEM and sk_unused_reserved_mem() are currently only
supported by TCP:
- On UDP sockets, sk-&amp;gt;sk_forward_alloc is protected by
  sk-&amp;gt;sk_receive_queue.lock, whereas sock_reserve_memory() and
  sock_release_reserved_memory() only acquire lock_sock(sk). Concurrent
  UDP packet reception/release and setsockopt(SO_RESERVE_MEM) corrupt
  sk_forward_alloc and memcg accounting.
- udp_rmem_release() reclaims excess sk_forward_alloc without
  accounting for sk_unused_reserved_mem(sk).&lt;/p&gt;
&lt;p&gt;Restrict sock_reserve_memory() to TCP sockets (sk_is_tcp(sk)) for now.
Supporting SO_RESERVE_MEM for UDP (acquiring sk_receive_queue.lock and
honoring sk_unused_reserved_mem() in udp_rmem_release()) can be done in
a future net-next series if needed.&lt;/p&gt;
&lt;p&gt;In addition, reject val &amp;gt; SZ_1G with -EINVAL in
sk_setsockopt(SO_RESERVE_MEM). Without an upper bound, values near
INT_MAX cause sk_mem_pages(delta) and (pages &amp;lt;&amp;lt; PAGE_SHIFT) to overflow
32-bit signed int, corrupting sk-&amp;gt;sk_forward_alloc and
sk-&amp;gt;sk_reserved_mem. Using a page-aligned cap (SZ_1G) ensures that the
page-rounded sk-&amp;gt;sk_reserved_mem reported by getsockopt(SO_RESERVE_MEM)
can alwa…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-98801</guid>
    </item>
  </channel>
</rss>
