<?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>Wed, 11 Nov 2026 03:32:35 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-94618</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-94618</link>
      <description>&lt;p&gt;FileGator is a multi-user file manager. Prior to 7.15.0, GET /batchdownload in backend/Controllers/DownloadController.php uses batchDownloadStart() to stream a shared temporary archive selected by the request-supplied uniqid without checking that the current session created it. In deployments with distinct per-user home directories, a valid user with read, download, and batchdownload permissions who obtains another user&amp;#39;s active archive id can cross that boundary and retrieve the victim&amp;#39;s batch archive. The archive lifetime and id-acquisition requirement limit exploitation, but a successful replay also deletes the victim&amp;#39;s pending archive. This issue is fixed in version 7.15.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;FileGator is a multi-user file manager. Prior to 7.15.0, GET /batchdownload in backend/Controllers/DownloadController.php uses batchDownloadStart() to stream a shared temporary archive selected by the request-supplied uniqid without checking that the current session created it. In deployments with distinct per-user home directories, a valid user with read, download, and batchdownload permissions who obtains another user&amp;#39;s active archive id can cross that boundary and retrieve the victim&amp;#39;s batch archive. The archive lifetime and id-acquisition requirement limit exploitation, but a successful replay also deletes the victim&amp;#39;s pending archive. This issue is fixed in version 7.15.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-94618</guid>
    </item>
    <item>
      <title>GHSA-f74m-x83r-c4v4 — FileGator: Missing authorization in GET /batchdownload allows cross-user retrieval of another user's archive</title>
      <link>https://db.gcve.eu/vuln/ghsa-f74m-x83r-c4v4</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: filegator/filegator&lt;/p&gt;
&lt;p&gt;### Summary
`GET /batchdownload` streams a batch ZIP to any requester who supplies its `uniqid`, without checking that the current user/session created it. In deployments where users have separate home directories, a valid low-privileged user who obtains an active archive id can download another user&amp;#39;s batch archive, disclosing files the per-user boundary otherwise protects. Reported with explicit preconditions and bounded impact — not a universal &amp;#34;any user steals any file&amp;#34; issue.&lt;/p&gt;
&lt;p&gt;### Details
The archive id is generated with plain `uniqid()` and no ownership metadata is bound to it before streaming.&lt;/p&gt;
&lt;p&gt;- `backend/Services/Archiver/Adapters/ZipArchiver.php:44` — `createArchive()` uses plain `uniqid()`.
- `backend/Controllers/DownloadController.php:144-145` — `batchDownloadStart()` reads the tmpfs file by the request-supplied `uniqid` after only a charset `preg_replace()`.
- `backend/Controllers/DownloadController.php:158` — the tmpfs archive is removed only after streaming.
- `backend/Controllers/routes.php:207-226` — both batch endpoints are exposed to normal roles with `read`, `download`, `batchdownload`.&lt;/p&gt;
&lt;p&gt;No user id, session id, home directory, or creator check is applied before streaming. The code path is unchanged since commit `3f03a40` (2022-05-31) and is present in the latest release `v7.14.3`.&lt;/p&gt;
&lt;p&gt;### PoC
Preconditions: a multi-user deployment with distinct per-user `homedir`s (set per-user in `users.json`, or `private_repos =&amp;gt; true` on the WordPress/LDAP adapter). The sh…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: filegator/filegator&lt;/p&gt;
&lt;p&gt;### Summary
`GET /batchdownload` streams a batch ZIP to any requester who supplies its `uniqid`, without checking that the current user/session created it. In deployments where users have separate home directories, a valid low-privileged user who obtains an active archive id can download another user&amp;#39;s batch archive, disclosing files the per-user boundary otherwise protects. Reported with explicit preconditions and bounded impact — not a universal &amp;#34;any user steals any file&amp;#34; issue.&lt;/p&gt;
&lt;p&gt;### Details
The archive id is generated with plain `uniqid()` and no ownership metadata is bound to it before streaming.&lt;/p&gt;
&lt;p&gt;- `backend/Services/Archiver/Adapters/ZipArchiver.php:44` — `createArchive()` uses plain `uniqid()`.
- `backend/Controllers/DownloadController.php:144-145` — `batchDownloadStart()` reads the tmpfs file by the request-supplied `uniqid` after only a charset `preg_replace()`.
- `backend/Controllers/DownloadController.php:158` — the tmpfs archive is removed only after streaming.
- `backend/Controllers/routes.php:207-226` — both batch endpoints are exposed to normal roles with `read`, `download`, `batchdownload`.&lt;/p&gt;
&lt;p&gt;No user id, session id, home directory, or creator check is applied before streaming. The code path is unchanged since commit `3f03a40` (2022-05-31) and is present in the latest release `v7.14.3`.&lt;/p&gt;
&lt;p&gt;### PoC
Preconditions: a multi-user deployment with distinct per-user `homedir`s (set per-user in `users.json`, or `private_repos =&amp;gt; true` on the WordPress/LDAP adapter). The sh…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-f74m-x83r-c4v4</guid>
    </item>
  </channel>
</rss>
