<?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>Thu, 08 Oct 2026 15:16:01 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-44788</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-44788</link>
      <description>&lt;p&gt;SharpCompress is a fully managed C# library to deal with many compression types and formats. In 0.47.4 and earlier, a path traversal vulnerability in IArchive.WriteToDirectory() allows a malicious archive to create directories outside the intended extraction root. For TAR archives, this can be escalated to arbitrary file writes by chaining with a symlink entry, giving a full write primitive on the target filesystem subject to the permissions of the running process.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;SharpCompress is a fully managed C# library to deal with many compression types and formats. In 0.47.4 and earlier, a path traversal vulnerability in IArchive.WriteToDirectory() allows a malicious archive to create directories outside the intended extraction root. For TAR archives, this can be escalated to arbitrary file writes by chaining with a symlink entry, giving a full write primitive on the target filesystem subject to the permissions of the running process.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-44788</guid>
    </item>
    <item>
      <title>GHSA-6c8g-7p36-r338 — SharpCompress has directory traversal via directory entries in WriteToDirectory (zip slip variant)</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-6c8g-7p36-r338</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; NuGet: SharpCompress&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;A path traversal vulnerability in `IArchive.WriteToDirectory()` allows a malicious archive to create directories outside the intended extraction root. For TAR archives, this can be escalated to arbitrary file writes by chaining with a symlink entry, giving a full write primitive on the target filesystem subject to the permissions of the running process.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The vulnerable code is in the directory-entry branch of `WriteToDirectoryInternal` (sync, `IArchiveExtensions.cs:48–61`) and `WriteToDirectoryAsyncInternal` (async, `IAsyncArchiveExtensions.cs:70–84`):&lt;/p&gt;
&lt;p&gt;```csharp
var dirPath = Path.Combine(destinationDirectory, entry.Key);
Directory.CreateDirectory(Path.GetDirectoryName(dirPath + &amp;#34;/&amp;#34;));
```&lt;/p&gt;
&lt;p&gt;No `Path.GetFullPath()` normalisation and no bounds check are applied before the `Directory.CreateDirectory` call. Two .NET `Path.Combine` behaviours make this exploitable:&lt;/p&gt;
&lt;p&gt;- **Relative traversal**: `Path.Combine(&amp;#34;/safe/extract&amp;#34;, &amp;#34;../../evil&amp;#34;)` → the OS resolves `..` segments on the raw path, placing the directory outside the extraction root.
- **Absolute path override**: `Path.Combine(&amp;#34;/safe/extract&amp;#34;, &amp;#34;/tmp/evil&amp;#34;)` → returns `&amp;#34;/tmp/evil&amp;#34;` — the base is discarded entirely for rooted paths.&lt;/p&gt;
&lt;p&gt;File entries are **not** directly affected — they route through `ExtractionMethods.WriteEntryToDirectory` which applies the correct guard (`GetFullPath` + `StartsWith`, see `ExtractionMethods.cs:54–65`). The directory-entry branch is a separate fast-path that was added witho…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; NuGet: SharpCompress&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;A path traversal vulnerability in `IArchive.WriteToDirectory()` allows a malicious archive to create directories outside the intended extraction root. For TAR archives, this can be escalated to arbitrary file writes by chaining with a symlink entry, giving a full write primitive on the target filesystem subject to the permissions of the running process.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The vulnerable code is in the directory-entry branch of `WriteToDirectoryInternal` (sync, `IArchiveExtensions.cs:48–61`) and `WriteToDirectoryAsyncInternal` (async, `IAsyncArchiveExtensions.cs:70–84`):&lt;/p&gt;
&lt;p&gt;```csharp
var dirPath = Path.Combine(destinationDirectory, entry.Key);
Directory.CreateDirectory(Path.GetDirectoryName(dirPath + &amp;#34;/&amp;#34;));
```&lt;/p&gt;
&lt;p&gt;No `Path.GetFullPath()` normalisation and no bounds check are applied before the `Directory.CreateDirectory` call. Two .NET `Path.Combine` behaviours make this exploitable:&lt;/p&gt;
&lt;p&gt;- **Relative traversal**: `Path.Combine(&amp;#34;/safe/extract&amp;#34;, &amp;#34;../../evil&amp;#34;)` → the OS resolves `..` segments on the raw path, placing the directory outside the extraction root.
- **Absolute path override**: `Path.Combine(&amp;#34;/safe/extract&amp;#34;, &amp;#34;/tmp/evil&amp;#34;)` → returns `&amp;#34;/tmp/evil&amp;#34;` — the base is discarded entirely for rooted paths.&lt;/p&gt;
&lt;p&gt;File entries are **not** directly affected — they route through `ExtractionMethods.WriteEntryToDirectory` which applies the correct guard (`GetFullPath` + `StartsWith`, see `ExtractionMethods.cs:54–65`). The directory-entry branch is a separate fast-path that was added witho…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-6c8g-7p36-r338</guid>
    </item>
  </channel>
</rss>
