<?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 02:39:53 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-38377 — rose: fix dangling neighbour pointers in rose_rt_device_down()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-38377</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;rose: fix dangling neighbour pointers in rose_rt_device_down()&lt;/p&gt;
&lt;p&gt;There are two bugs in rose_rt_device_down() that can cause
use-after-free:&lt;/p&gt;
&lt;p&gt;1. The loop bound `t-&amp;gt;count` is modified within the loop, which can
   cause the loop to terminate early and miss some entries.&lt;/p&gt;
&lt;p&gt;2. When removing an entry from the neighbour array, the subsequent entries
   are moved up to fill the gap, but the loop index `i` is still
   incremented, causing the next entry to be skipped.&lt;/p&gt;
&lt;p&gt;For example, if a node has three neighbours (A, A, B) with count=3 and A
is being removed, the second A is not checked.&lt;/p&gt;
&lt;p&gt;i=0: (A, A, B) -&amp;gt; (A, B) with count=2
          ^ checked
    i=1: (A, B)    -&amp;gt; (A, B) with count=2
             ^ checked (B, not A!)
    i=2: (doesn&amp;#39;t occur because i &amp;lt; count is false)&lt;/p&gt;
&lt;p&gt;This leaves the second A in the array with count=2, but the rose_neigh
structure has been freed. Code that accesses these entries assumes that
the first `count` entries are valid pointers, causing a use-after-free
when it accesses the dangling pointer.&lt;/p&gt;
&lt;p&gt;Fix both issues by iterating over the array in reverse order with a fixed
loop bound. This ensures that all entries are examined and that the removal
of an entry doesn&amp;#39;t affect subsequent iterations.&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;rose: fix dangling neighbour pointers in rose_rt_device_down()&lt;/p&gt;
&lt;p&gt;There are two bugs in rose_rt_device_down() that can cause
use-after-free:&lt;/p&gt;
&lt;p&gt;1. The loop bound `t-&amp;gt;count` is modified within the loop, which can
   cause the loop to terminate early and miss some entries.&lt;/p&gt;
&lt;p&gt;2. When removing an entry from the neighbour array, the subsequent entries
   are moved up to fill the gap, but the loop index `i` is still
   incremented, causing the next entry to be skipped.&lt;/p&gt;
&lt;p&gt;For example, if a node has three neighbours (A, A, B) with count=3 and A
is being removed, the second A is not checked.&lt;/p&gt;
&lt;p&gt;i=0: (A, A, B) -&amp;gt; (A, B) with count=2
          ^ checked
    i=1: (A, B)    -&amp;gt; (A, B) with count=2
             ^ checked (B, not A!)
    i=2: (doesn&amp;#39;t occur because i &amp;lt; count is false)&lt;/p&gt;
&lt;p&gt;This leaves the second A in the array with count=2, but the rose_neigh
structure has been freed. Code that accesses these entries assumes that
the first `count` entries are valid pointers, causing a use-after-free
when it accesses the dangling pointer.&lt;/p&gt;
&lt;p&gt;Fix both issues by iterating over the array in reverse order with a fixed
loop bound. This ensures that all entries are examined and that the removal
of an entry doesn&amp;#39;t affect subsequent iterations.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-38377</guid>
    </item>
  </channel>
</rss>
