<?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 05:34:55 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-90003 — futex: Prevent rcuwait use-after-free during requeue PI</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-90003</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;futex: Prevent rcuwait use-after-free during requeue PI&lt;/p&gt;
&lt;p&gt;On PREEMPT_RT, FUTEX_CMP_REQUEUE_PI can trigger a KASAN report
(slab-out-of-bounds) in futex_requeue_pi_complete() invocation of
rcuwait_wake_up().&lt;/p&gt;
&lt;p&gt;The futex_q used by futex_wait_requeue_pi() is allocated on the waiter&amp;#39;s
stack. An early wakeup can race with a PI requeue as follows:&lt;/p&gt;
&lt;p&gt;waiter                          requeue task
        ------                          ------------
futex_wait_requeue_pi()
  futex_do_wait()
    schedule()
                                       futex_requeue
                                         futex_proxy_trylock_atomic()
                                           futex_requeue_pi_prepare()
                                            Q_REQUEUE_PI_NONE -&amp;gt; Q_REQUEUE_PI_IN_PROGRESS
* timeout/ signal wakes waiter *
  futex_requeue_pi_wakeup_sync()
   Q_REQUEUE_PI_IN_PROGRESS -&amp;gt; Q_REQUEUE_PI_WAIT
                                           requeue_pi_wake_futex
                                             futex_requeue_pi_complete()
                                               cmpxchg Q_REQUEUE_PI_WAIT -&amp;gt; Q_REQUEUE_PI_LOCKED
    rcuwait_wait_event()
      if (atomic_read(&amp;amp;q-&amp;gt;requeue_state) != Q_REQUEUE_PI_WAIT)
       break /* no schedule() */&lt;/p&gt;
&lt;p&gt;/* q.pi_state-&amp;gt;owner == current */
 futex_private_hash_put()
 /* return from syscall */
                                              rcuwait_wake_up(&amp;amp;q-&amp;gt;requeue_wait)…&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;futex: Prevent rcuwait use-after-free during requeue PI&lt;/p&gt;
&lt;p&gt;On PREEMPT_RT, FUTEX_CMP_REQUEUE_PI can trigger a KASAN report
(slab-out-of-bounds) in futex_requeue_pi_complete() invocation of
rcuwait_wake_up().&lt;/p&gt;
&lt;p&gt;The futex_q used by futex_wait_requeue_pi() is allocated on the waiter&amp;#39;s
stack. An early wakeup can race with a PI requeue as follows:&lt;/p&gt;
&lt;p&gt;waiter                          requeue task
        ------                          ------------
futex_wait_requeue_pi()
  futex_do_wait()
    schedule()
                                       futex_requeue
                                         futex_proxy_trylock_atomic()
                                           futex_requeue_pi_prepare()
                                            Q_REQUEUE_PI_NONE -&amp;gt; Q_REQUEUE_PI_IN_PROGRESS
* timeout/ signal wakes waiter *
  futex_requeue_pi_wakeup_sync()
   Q_REQUEUE_PI_IN_PROGRESS -&amp;gt; Q_REQUEUE_PI_WAIT
                                           requeue_pi_wake_futex
                                             futex_requeue_pi_complete()
                                               cmpxchg Q_REQUEUE_PI_WAIT -&amp;gt; Q_REQUEUE_PI_LOCKED
    rcuwait_wait_event()
      if (atomic_read(&amp;amp;q-&amp;gt;requeue_state) != Q_REQUEUE_PI_WAIT)
       break /* no schedule() */&lt;/p&gt;
&lt;p&gt;/* q.pi_state-&amp;gt;owner == current */
 futex_private_hash_put()
 /* return from syscall */
                                              rcuwait_wake_up(&amp;amp;q-&amp;gt;requeue_wait)…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-90003</guid>
    </item>
  </channel>
</rss>
