<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-05T23:09:16.817560+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cve-2025-38365</id>
    <title>CVE-2025-38365 — btrfs: fix a race between renames and directory logging</title>
    <updated>2026-10-05T23:09:16.834529+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>btrfs: fix a race between renames and directory logging</p>
<p>We have a race between a rename and directory inode logging that if it
happens and we crash/power fail before the rename completes, the next time
the filesystem is mounted, the log replay code will end up deleting the
file that was being renamed.</p>
<p>This is best explained following a step by step analysis of an interleaving
of steps that lead into this situation.</p>
<p>Consider the initial conditions:</p>
<p>1) We are at transaction N;</p>
<p>2) We have directories A and B created in a past transaction (&lt; N);</p>
<p>3) We have inode X corresponding to a file that has 2 hardlinks, one in
   directory A and the other in directory B, so we'll name them as
   "A/foo_link1" and "B/foo_link2". Both hard links were persisted in a
   past transaction (&lt; N);</p>
<p>4) We have inode Y corresponding to a file that as a single hard link and
   is located in directory A, we'll name it as "A/bar". This file was also
   persisted in a past transaction (&lt; N).</p>
<p>The steps leading to a file loss are the following and for all of them we
are under transaction N:</p>
<p>1) Link "A/foo_link1" is removed, so inode's X last_unlink_trans field
    is updated to N, through btrfs_unlink() -&gt; btrfs_record_unlink_dir();</p>
<p>2) Task A starts a rename for inode Y, with the goal of renaming from
    "A/bar" to "A/baz", so we enter btrfs_rename();</p>
<p>3) Task A inserts the new BTRFS_INODE_REF_KEY for inode Y by calling…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2025-38365"/>
  </entry>
</feed>
