<?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>Thu, 12 Nov 2026 00:03:02 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-79781 — rclone serve s3 Path Traversal via dot-dot object keys</title>
      <link>https://db.gcve.eu/vuln/cve-2026-79781</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; rclone&lt;/p&gt;
&lt;p&gt;rclone serve s3 before 1.74.4 contains a path traversal vulnerability that allows attackers to read and overwrite root-level files by using dot-dot segments in S3 object keys. Attackers can send requests with object keys like ../root-secret.txt to escape the bucket namespace and access files in the serve root directory.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; rclone&lt;/p&gt;
&lt;p&gt;rclone serve s3 before 1.74.4 contains a path traversal vulnerability that allows attackers to read and overwrite root-level files by using dot-dot segments in S3 object keys. Attackers can send requests with object keys like ../root-secret.txt to escape the bucket namespace and access files in the serve root directory.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-79781</guid>
    </item>
    <item>
      <title>GHSA-8v25-v8p6-qf7v — rclone: Path traversal in serve s3 allows reading and overwriting root-level files</title>
      <link>https://db.gcve.eu/vuln/ghsa-8v25-v8p6-qf7v</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/rclone/rclone&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;rclone serve s3 allows a client to read and write files at the root of the remote which would normally be inaccessible by using dot-dot path segments in the object key. It does not allow reading files outside of the root. A request such as GET /bucket/../root-secret.txt is handled as an object request for bucket &amp;#34;bucket&amp;#34;, but rclone normalizes the backend path and reads root-secret.txt from the serve root. The same issue also allows overwriting root-level files with PUT.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The affected component is rclone serve s3.&lt;/p&gt;
&lt;p&gt;Relevant source files:&lt;/p&gt;
&lt;p&gt;cmd/serve/s3/backend.go
cmd/serve/s3/multipart.go
cmd/serve/s3/list.go&lt;/p&gt;
&lt;p&gt;In cmd/serve/s3/backend.go, the S3 backend builds backend paths by joining the bucket name and object key with path.Join:&lt;/p&gt;
&lt;p&gt;fp := path.Join(bucketName, objectName)&lt;/p&gt;
&lt;p&gt;This pattern is used in object operations such as HeadObject, GetObject, PutObject, DeleteObject, and CopyObject.&lt;/p&gt;
&lt;p&gt;S3 object keys are opaque names and can legally contain dot-dot segments. However, path.Join treats the object key as a filesystem-style path and normalizes ../ segments. As a result, an object key such as ../root-secret.txt is resolved outside the selected bucket directory.&lt;/p&gt;
&lt;p&gt;For example, when rclone serve s3 is serving a root directory that contains:&lt;/p&gt;
&lt;p&gt;root/
  bucket/
  root-secret.txt&lt;/p&gt;
&lt;p&gt;a raw S3 HTTP request to:&lt;/p&gt;
&lt;p&gt;GET /bucket/../root-secret.txt&lt;/p&gt;
&lt;p&gt;is parsed as a request for bucket &amp;#34;bucket&amp;#34; and object &amp;#34;../root-secret.txt&amp;#34;. The backend then calculates:&lt;/p&gt;
&lt;p&gt;path.Join(&amp;#34;bucket&amp;#34;, &amp;#34;.…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/rclone/rclone&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;rclone serve s3 allows a client to read and write files at the root of the remote which would normally be inaccessible by using dot-dot path segments in the object key. It does not allow reading files outside of the root. A request such as GET /bucket/../root-secret.txt is handled as an object request for bucket &amp;#34;bucket&amp;#34;, but rclone normalizes the backend path and reads root-secret.txt from the serve root. The same issue also allows overwriting root-level files with PUT.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The affected component is rclone serve s3.&lt;/p&gt;
&lt;p&gt;Relevant source files:&lt;/p&gt;
&lt;p&gt;cmd/serve/s3/backend.go
cmd/serve/s3/multipart.go
cmd/serve/s3/list.go&lt;/p&gt;
&lt;p&gt;In cmd/serve/s3/backend.go, the S3 backend builds backend paths by joining the bucket name and object key with path.Join:&lt;/p&gt;
&lt;p&gt;fp := path.Join(bucketName, objectName)&lt;/p&gt;
&lt;p&gt;This pattern is used in object operations such as HeadObject, GetObject, PutObject, DeleteObject, and CopyObject.&lt;/p&gt;
&lt;p&gt;S3 object keys are opaque names and can legally contain dot-dot segments. However, path.Join treats the object key as a filesystem-style path and normalizes ../ segments. As a result, an object key such as ../root-secret.txt is resolved outside the selected bucket directory.&lt;/p&gt;
&lt;p&gt;For example, when rclone serve s3 is serving a root directory that contains:&lt;/p&gt;
&lt;p&gt;root/
  bucket/
  root-secret.txt&lt;/p&gt;
&lt;p&gt;a raw S3 HTTP request to:&lt;/p&gt;
&lt;p&gt;GET /bucket/../root-secret.txt&lt;/p&gt;
&lt;p&gt;is parsed as a request for bucket &amp;#34;bucket&amp;#34; and object &amp;#34;../root-secret.txt&amp;#34;. The backend then calculates:&lt;/p&gt;
&lt;p&gt;path.Join(&amp;#34;bucket&amp;#34;, &amp;#34;.…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-8v25-v8p6-qf7v</guid>
    </item>
  </channel>
</rss>
