<?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://db.gcve.eu</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, 09 Oct 2026 11:59:28 +0000</lastBuildDate>
    <item>
      <title>RUSTSEC-2023-0018 — Race Condition Enabling Link Following and Time-of-check Time-of-use (TOCTOU)</title>
      <link>https://db.gcve.eu/vuln/rustsec-2023-0018</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: remove_dir_all&lt;/p&gt;
&lt;p&gt;The remove_dir_all crate is a Rust library that offers additional features over the Rust
standard library fs::remove_dir_all function.&lt;/p&gt;
&lt;p&gt;It was possible to trick a privileged process doing a recursive delete in an
attacker controlled directory into deleting privileged files, on all operating systems.&lt;/p&gt;
&lt;p&gt;For instance, consider deleting a tree called &amp;#39;etc&amp;#39; in a parent directory
called &amp;#39;p&amp;#39;. Between calling `remove_dir_all(&amp;#34;a&amp;#34;)` and remove_dir_all(&amp;#34;a&amp;#34;)
actually starting its work, the attacker can move &amp;#39;p&amp;#39; to &amp;#39;p-prime&amp;#39;, and
replace &amp;#39;p&amp;#39; with a symlink to &amp;#39;/&amp;#39;. Then the privileged process deletes &amp;#39;p/etc&amp;#39;
which is actually /etc, and now your system is broken. There are some
mitigations for this exact scenario, such as CWD relative file lookup, but
they are not guaranteed - any code using absolute paths will not have that
protection in place.&lt;/p&gt;
&lt;p&gt;The same attack could be performed at any point in the directory tree being
deleted: if &amp;#39;a&amp;#39; contains a child directory called &amp;#39;etc&amp;#39;, attacking the
deletion by replacing &amp;#39;a&amp;#39; with a link is possible.&lt;/p&gt;
&lt;p&gt;The new code in this release mitigates the attack within the directory tree
being deleted by using file-handle relative operations: to open &amp;#39;a/etc&amp;#39;, the
path &amp;#39;etc&amp;#39; relative to &amp;#39;a&amp;#39; is opened, where &amp;#39;a&amp;#39; is represented by a file
descriptor (Unix) or handle (Windows). With the exception of the entry points
into the directory deletion logic, this is robust against manipulation of the
directory hierarchy, and remove_dir_all will only delete files and director…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: remove_dir_all&lt;/p&gt;
&lt;p&gt;The remove_dir_all crate is a Rust library that offers additional features over the Rust
standard library fs::remove_dir_all function.&lt;/p&gt;
&lt;p&gt;It was possible to trick a privileged process doing a recursive delete in an
attacker controlled directory into deleting privileged files, on all operating systems.&lt;/p&gt;
&lt;p&gt;For instance, consider deleting a tree called &amp;#39;etc&amp;#39; in a parent directory
called &amp;#39;p&amp;#39;. Between calling `remove_dir_all(&amp;#34;a&amp;#34;)` and remove_dir_all(&amp;#34;a&amp;#34;)
actually starting its work, the attacker can move &amp;#39;p&amp;#39; to &amp;#39;p-prime&amp;#39;, and
replace &amp;#39;p&amp;#39; with a symlink to &amp;#39;/&amp;#39;. Then the privileged process deletes &amp;#39;p/etc&amp;#39;
which is actually /etc, and now your system is broken. There are some
mitigations for this exact scenario, such as CWD relative file lookup, but
they are not guaranteed - any code using absolute paths will not have that
protection in place.&lt;/p&gt;
&lt;p&gt;The same attack could be performed at any point in the directory tree being
deleted: if &amp;#39;a&amp;#39; contains a child directory called &amp;#39;etc&amp;#39;, attacking the
deletion by replacing &amp;#39;a&amp;#39; with a link is possible.&lt;/p&gt;
&lt;p&gt;The new code in this release mitigates the attack within the directory tree
being deleted by using file-handle relative operations: to open &amp;#39;a/etc&amp;#39;, the
path &amp;#39;etc&amp;#39; relative to &amp;#39;a&amp;#39; is opened, where &amp;#39;a&amp;#39; is represented by a file
descriptor (Unix) or handle (Windows). With the exception of the entry points
into the directory deletion logic, this is robust against manipulation of the
directory hierarchy, and remove_dir_all will only delete files and director…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/rustsec-2023-0018</guid>
    </item>
  </channel>
</rss>
