<?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>Fri, 02 Oct 2026 08:45:32 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-68260 — rust_binder: fix race condition on death_list</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-68260</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;rust_binder: fix race condition on death_list&lt;/p&gt;
&lt;p&gt;Rust Binder contains the following unsafe operation:&lt;/p&gt;
&lt;p&gt;// SAFETY: A `NodeDeath` is never inserted into the death list
	// of any node other than its owner, so it is either in this
	// death list or in no death list.
	unsafe { node_inner.death_list.remove(self) };&lt;/p&gt;
&lt;p&gt;This operation is unsafe because when touching the prev/next pointers of
a list element, we have to ensure that no other thread is also touching
them in parallel. If the node is present in the list that `remove` is
called on, then that is fine because we have exclusive access to that
list. If the node is not in any list, then it&amp;#39;s also ok. But if it&amp;#39;s
present in a different list that may be accessed in parallel, then that
may be a data race on the prev/next pointers.&lt;/p&gt;
&lt;p&gt;And unfortunately that is exactly what is happening here. In
Node::release, we:&lt;/p&gt;
&lt;p&gt;1. Take the lock.
 2. Move all items to a local list on the stack.
 3. Drop the lock.
 4. Iterate the local list on the stack.&lt;/p&gt;
&lt;p&gt;Combined with threads using the unsafe remove method on the original
list, this leads to memory corruption of the prev/next pointers. This
leads to crashes like this one:&lt;/p&gt;
&lt;p&gt;Unable to handle kernel paging request at virtual address 000bb9841bcac70e
	Mem abort info:
	  ESR = 0x0000000096000044
	  EC = 0x25: DABT (current EL), IL = 32 bits
	  SET = 0, FnV = 0
	  EA = 0, S1PTW = 0
	  FSC = 0x04: level 0 translation fault
	Data abort in…&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;rust_binder: fix race condition on death_list&lt;/p&gt;
&lt;p&gt;Rust Binder contains the following unsafe operation:&lt;/p&gt;
&lt;p&gt;// SAFETY: A `NodeDeath` is never inserted into the death list
	// of any node other than its owner, so it is either in this
	// death list or in no death list.
	unsafe { node_inner.death_list.remove(self) };&lt;/p&gt;
&lt;p&gt;This operation is unsafe because when touching the prev/next pointers of
a list element, we have to ensure that no other thread is also touching
them in parallel. If the node is present in the list that `remove` is
called on, then that is fine because we have exclusive access to that
list. If the node is not in any list, then it&amp;#39;s also ok. But if it&amp;#39;s
present in a different list that may be accessed in parallel, then that
may be a data race on the prev/next pointers.&lt;/p&gt;
&lt;p&gt;And unfortunately that is exactly what is happening here. In
Node::release, we:&lt;/p&gt;
&lt;p&gt;1. Take the lock.
 2. Move all items to a local list on the stack.
 3. Drop the lock.
 4. Iterate the local list on the stack.&lt;/p&gt;
&lt;p&gt;Combined with threads using the unsafe remove method on the original
list, this leads to memory corruption of the prev/next pointers. This
leads to crashes like this one:&lt;/p&gt;
&lt;p&gt;Unable to handle kernel paging request at virtual address 000bb9841bcac70e
	Mem abort info:
	  ESR = 0x0000000096000044
	  EC = 0x25: DABT (current EL), IL = 32 bits
	  SET = 0, FnV = 0
	  EA = 0, S1PTW = 0
	  FSC = 0x04: level 0 translation fault
	Data abort in…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-68260</guid>
    </item>
  </channel>
</rss>
