<?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 22:05:07 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-93243 — mm/secretmem: properly account locked pages</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-93243</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;mm/secretmem: properly account locked pages&lt;/p&gt;
&lt;p&gt;secretmem accounts folios by treating memory as if it were mlock()&amp;#39;d and
thus limited by the RLIMIT_MEMLOCK limit.&lt;/p&gt;
&lt;p&gt;However the folios are unevictable and remain so until the inode is
evicted, eliminating usual mlock() semantics - mapping folios then
unmapping them does not clear their unevictable state, since it depends on
AS_UNEVICTABLE, not PG_mlocked.&lt;/p&gt;
&lt;p&gt;A user can therefore easily work around the RLIMIT_MEMLOCK limit - simply
map then unmap and VmLck no longer counts the secretmem range.  Worse,
folios are not accounted in the process&amp;#39;s RSS, meaning the OOM killer
won&amp;#39;t know to kill the process.&lt;/p&gt;
&lt;p&gt;Repeatedly mapping/unmapping (or forking) can then result in the
consumption of all available system memory with unevictable folios and
cause system instability.&lt;/p&gt;
&lt;p&gt;A secretmem fd can be passed between processes and over fork so a
per-process limit simply does not make sense, so follow the precedent set
by io_uring, perf, skbuff, iommufd and xdp by tracking the number of
locked pages in user_struct-&amp;gt;locked_vm.&lt;/p&gt;
&lt;p&gt;Since the scope tracked is actually inode lifetime, the RLIMIT_MEMLOCK
applies per-user not per-process, so it doesn&amp;#39;t make sense to bypass for
users with CAP_IPC_LOCK, therefore remove this bypass.&lt;/p&gt;
&lt;p&gt;There is simply no reason to carry on marking the mapping as mlock()&amp;#39;d
since it&amp;#39;s misleading and the lifecycle is now correctly handled, so
remove this too.&lt;/p&gt;
&lt;p&gt;Note th…&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;mm/secretmem: properly account locked pages&lt;/p&gt;
&lt;p&gt;secretmem accounts folios by treating memory as if it were mlock()&amp;#39;d and
thus limited by the RLIMIT_MEMLOCK limit.&lt;/p&gt;
&lt;p&gt;However the folios are unevictable and remain so until the inode is
evicted, eliminating usual mlock() semantics - mapping folios then
unmapping them does not clear their unevictable state, since it depends on
AS_UNEVICTABLE, not PG_mlocked.&lt;/p&gt;
&lt;p&gt;A user can therefore easily work around the RLIMIT_MEMLOCK limit - simply
map then unmap and VmLck no longer counts the secretmem range.  Worse,
folios are not accounted in the process&amp;#39;s RSS, meaning the OOM killer
won&amp;#39;t know to kill the process.&lt;/p&gt;
&lt;p&gt;Repeatedly mapping/unmapping (or forking) can then result in the
consumption of all available system memory with unevictable folios and
cause system instability.&lt;/p&gt;
&lt;p&gt;A secretmem fd can be passed between processes and over fork so a
per-process limit simply does not make sense, so follow the precedent set
by io_uring, perf, skbuff, iommufd and xdp by tracking the number of
locked pages in user_struct-&amp;gt;locked_vm.&lt;/p&gt;
&lt;p&gt;Since the scope tracked is actually inode lifetime, the RLIMIT_MEMLOCK
applies per-user not per-process, so it doesn&amp;#39;t make sense to bypass for
users with CAP_IPC_LOCK, therefore remove this bypass.&lt;/p&gt;
&lt;p&gt;There is simply no reason to carry on marking the mapping as mlock()&amp;#39;d
since it&amp;#39;s misleading and the lifecycle is now correctly handled, so
remove this too.&lt;/p&gt;
&lt;p&gt;Note th…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-93243</guid>
    </item>
  </channel>
</rss>
