<?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 11:53:55 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-64300 — perf/aux: Fix page UAF in map_range()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-64300</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;perf/aux: Fix page UAF in map_range()&lt;/p&gt;
&lt;p&gt;map_range() reads rb-&amp;gt;aux_pages[], rb-&amp;gt;aux_nr_pages and rb-&amp;gt;aux_pgoff via
perf_mmap_to_page() while holding only event-&amp;gt;mmap_mutex. Those fields are
serialized by rb-&amp;gt;aux_mutex, and mmap_mutex is per event.&lt;/p&gt;
&lt;p&gt;Thus, two events sharing one rb via PERF_EVENT_IOC_SET_OUTPUT can race
rb_alloc_aux() with map_range(), leading to a page-UAF scenario as follows:&lt;/p&gt;
&lt;p&gt;CPU 0                           CPU 1
  =====                           =====
  rb_alloc_aux()                  map_range()
  [1]: allocate rb-&amp;gt;aux_pages[0]
  [2]: rb-&amp;gt;aux_nr_pages++
                                  [3]: perf_mmap_to_page()
                                         returns rb-&amp;gt;aux_pages[0]
                                  [4]: map it as VM_PFNMAP
  [5]: rb-&amp;gt;aux_pgoff = 1&lt;/p&gt;
&lt;p&gt;munmap the page
  [6]: free rb-&amp;gt;aux_pages[0]&lt;/p&gt;
&lt;p&gt;Pages mapped as VM_PFNMAP have no refcount protection, so CPU 1 holds a
mapping to a freed physical frame.&lt;/p&gt;
&lt;p&gt;Fix this by taking rb-&amp;gt;aux_mutex across the page walk in map_range().&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;perf/aux: Fix page UAF in map_range()&lt;/p&gt;
&lt;p&gt;map_range() reads rb-&amp;gt;aux_pages[], rb-&amp;gt;aux_nr_pages and rb-&amp;gt;aux_pgoff via
perf_mmap_to_page() while holding only event-&amp;gt;mmap_mutex. Those fields are
serialized by rb-&amp;gt;aux_mutex, and mmap_mutex is per event.&lt;/p&gt;
&lt;p&gt;Thus, two events sharing one rb via PERF_EVENT_IOC_SET_OUTPUT can race
rb_alloc_aux() with map_range(), leading to a page-UAF scenario as follows:&lt;/p&gt;
&lt;p&gt;CPU 0                           CPU 1
  =====                           =====
  rb_alloc_aux()                  map_range()
  [1]: allocate rb-&amp;gt;aux_pages[0]
  [2]: rb-&amp;gt;aux_nr_pages++
                                  [3]: perf_mmap_to_page()
                                         returns rb-&amp;gt;aux_pages[0]
                                  [4]: map it as VM_PFNMAP
  [5]: rb-&amp;gt;aux_pgoff = 1&lt;/p&gt;
&lt;p&gt;munmap the page
  [6]: free rb-&amp;gt;aux_pages[0]&lt;/p&gt;
&lt;p&gt;Pages mapped as VM_PFNMAP have no refcount protection, so CPU 1 holds a
mapping to a freed physical frame.&lt;/p&gt;
&lt;p&gt;Fix this by taking rb-&amp;gt;aux_mutex across the page walk in map_range().&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-64300</guid>
    </item>
  </channel>
</rss>
