<?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, 30 Sep 2026 03:52:30 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-73509</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-73509</link>
      <description>&lt;p&gt;OpenList a file list program that supports multiple storage. Prior to 4.2.4, the authenticated /api/fs/batch_rename handler in server/handles/fsbatch.go authorizes only the source directory produced by user.JoinPath(req.SrcDir) and validates renameObject.NewName with checkRelativePath, but does not validate attacker-controlled renameObject.SrcName, supplied as src_name, before concatenating it with the authorized path and passing the result to fs.Rename. A user with rename permission can use traversal segments in src_name to make path normalization select a file outside the authorized directory and configured base path, resulting in cross-user file integrity loss, limited availability impact, and file-existence disclosure through success or error responses. This issue is fixed in version 4.2.4.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;OpenList a file list program that supports multiple storage. Prior to 4.2.4, the authenticated /api/fs/batch_rename handler in server/handles/fsbatch.go authorizes only the source directory produced by user.JoinPath(req.SrcDir) and validates renameObject.NewName with checkRelativePath, but does not validate attacker-controlled renameObject.SrcName, supplied as src_name, before concatenating it with the authorized path and passing the result to fs.Rename. A user with rename permission can use traversal segments in src_name to make path normalization select a file outside the authorized directory and configured base path, resulting in cross-user file integrity loss, limited availability impact, and file-existence disclosure through success or error responses. This issue is fixed in version 4.2.4.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-73509</guid>
    </item>
    <item>
      <title>GHSA-95cv-r8x4-vh75 — OpenList: Authenticated users can rename files outside their base path via batch rename `src_name` traversal</title>
      <link>https://db.gcve.eu/vuln/ghsa-95cv-r8x4-vh75</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/OpenListTeam/OpenList/v4&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The `/api/fs/batch_rename` handler validates and authorizes only the requested source directory. It rejects path separators in `new_name`, but it does not validate `src_name`. The handler concatenates `src_dir` and attacker-controlled `src_name`, then passes the result to the filesystem rename layer, where the path is normalized.&lt;/p&gt;
&lt;p&gt;An authenticated user with rename permission can set `src_name` to traversal segments such as `../../ab/secret.txt`. When the user&amp;#39;s base path is `/team/a` and `src_dir` is `/writable`, the authorized directory becomes `/team/a/writable`, but the final source path normalizes to `/team/ab/secret.txt`. The file outside the user&amp;#39;s base path is then renamed.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The HTTP API registers filesystem management routes under the authenticated group:&lt;/p&gt;
&lt;p&gt;- `server/router.go:104` registers `_fs(auth.Group(&amp;#34;/fs&amp;#34;))`.
- `server/router.go:198` through `server/router.go:205` expose `/api/fs/batch_rename`.&lt;/p&gt;
&lt;p&gt;The vulnerable code is in `server/handles/fsbatch.go`:&lt;/p&gt;
&lt;p&gt;- `src_dir` is constrained through `user.JoinPath(req.SrcDir)` (`server/handles/fsbatch.go:170` through `server/handles/fsbatch.go:174`).
- Write permission is checked only for that constrained directory (`server/handles/fsbatch.go:176` through `server/handles/fsbatch.go:185`).
- The loop checks `renameObject.NewName` with `checkRelativePath`, but does not check `renameObject.SrcName` (`server/handles/fsbatch.go:186` through `server/handles/fsbatch.go:194`).
- The handler builds `filePath…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/OpenListTeam/OpenList/v4&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The `/api/fs/batch_rename` handler validates and authorizes only the requested source directory. It rejects path separators in `new_name`, but it does not validate `src_name`. The handler concatenates `src_dir` and attacker-controlled `src_name`, then passes the result to the filesystem rename layer, where the path is normalized.&lt;/p&gt;
&lt;p&gt;An authenticated user with rename permission can set `src_name` to traversal segments such as `../../ab/secret.txt`. When the user&amp;#39;s base path is `/team/a` and `src_dir` is `/writable`, the authorized directory becomes `/team/a/writable`, but the final source path normalizes to `/team/ab/secret.txt`. The file outside the user&amp;#39;s base path is then renamed.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The HTTP API registers filesystem management routes under the authenticated group:&lt;/p&gt;
&lt;p&gt;- `server/router.go:104` registers `_fs(auth.Group(&amp;#34;/fs&amp;#34;))`.
- `server/router.go:198` through `server/router.go:205` expose `/api/fs/batch_rename`.&lt;/p&gt;
&lt;p&gt;The vulnerable code is in `server/handles/fsbatch.go`:&lt;/p&gt;
&lt;p&gt;- `src_dir` is constrained through `user.JoinPath(req.SrcDir)` (`server/handles/fsbatch.go:170` through `server/handles/fsbatch.go:174`).
- Write permission is checked only for that constrained directory (`server/handles/fsbatch.go:176` through `server/handles/fsbatch.go:185`).
- The loop checks `renameObject.NewName` with `checkRelativePath`, but does not check `renameObject.SrcName` (`server/handles/fsbatch.go:186` through `server/handles/fsbatch.go:194`).
- The handler builds `filePath…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-95cv-r8x4-vh75</guid>
    </item>
  </channel>
</rss>
