<?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 08:40:02 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-89540 — sunrpc: init gssp_lock before publishing proc entry</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-89540</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;sunrpc: init gssp_lock before publishing proc entry&lt;/p&gt;
&lt;p&gt;create_use_gss_proxy_proc_entry() publishes /proc/net/rpc/use-gss-proxy
via proc_create_data() before init_gssp_clnt() runs mutex_init() on
sn-&amp;gt;gssp_lock.  Once the dentry is linked under proc_subdir_lock it is
immediately reachable from userspace, so a write that lands in the
window drives set_gssp_clnt() into mutex_lock() on a zero-initialized
struct mutex.&lt;/p&gt;
&lt;p&gt;create_use_gss_proxy_proc_entry(net)
      proc_create_data(&amp;#34;use-gss-proxy&amp;#34;, ...)   /* dentry live */
      init_gssp_clnt(sn)
        mutex_init(&amp;amp;sn-&amp;gt;gssp_lock)             /* too late */&lt;/p&gt;
&lt;p&gt;write_gssp()
      set_gssp_clnt(net)
        mutex_lock(&amp;amp;sn-&amp;gt;gssp_lock)             /* uninitialized */
        gssp_rpc_create(...)
        sn-&amp;gt;gssp_clnt = clnt
        mutex_unlock(&amp;amp;sn-&amp;gt;gssp_lock)&lt;/p&gt;
&lt;p&gt;The window spans only the two statements between proc_create_data()
returning and init_gssp_clnt(), so a writer reaches it only if the
registering thread is preempted there while another task is already
opening the freshly published file.  register_pernet_subsys() runs in
preemptible context under pernet_ops_rwsem, so that preemption is
possible, and the window widens on auth_rpcgss module load, when the
proc entry is created for every live net namespace whose tasks are
already running.  A writer that wins the race locks a zero-filled
struct mutex.  On CONFIG_DEBUG_MUTEXES the missing magic value trips a
&amp;#34;lo…&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;sunrpc: init gssp_lock before publishing proc entry&lt;/p&gt;
&lt;p&gt;create_use_gss_proxy_proc_entry() publishes /proc/net/rpc/use-gss-proxy
via proc_create_data() before init_gssp_clnt() runs mutex_init() on
sn-&amp;gt;gssp_lock.  Once the dentry is linked under proc_subdir_lock it is
immediately reachable from userspace, so a write that lands in the
window drives set_gssp_clnt() into mutex_lock() on a zero-initialized
struct mutex.&lt;/p&gt;
&lt;p&gt;create_use_gss_proxy_proc_entry(net)
      proc_create_data(&amp;#34;use-gss-proxy&amp;#34;, ...)   /* dentry live */
      init_gssp_clnt(sn)
        mutex_init(&amp;amp;sn-&amp;gt;gssp_lock)             /* too late */&lt;/p&gt;
&lt;p&gt;write_gssp()
      set_gssp_clnt(net)
        mutex_lock(&amp;amp;sn-&amp;gt;gssp_lock)             /* uninitialized */
        gssp_rpc_create(...)
        sn-&amp;gt;gssp_clnt = clnt
        mutex_unlock(&amp;amp;sn-&amp;gt;gssp_lock)&lt;/p&gt;
&lt;p&gt;The window spans only the two statements between proc_create_data()
returning and init_gssp_clnt(), so a writer reaches it only if the
registering thread is preempted there while another task is already
opening the freshly published file.  register_pernet_subsys() runs in
preemptible context under pernet_ops_rwsem, so that preemption is
possible, and the window widens on auth_rpcgss module load, when the
proc entry is created for every live net namespace whose tasks are
already running.  A writer that wins the race locks a zero-filled
struct mutex.  On CONFIG_DEBUG_MUTEXES the missing magic value trips a
&amp;#34;lo…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-89540</guid>
    </item>
  </channel>
</rss>
