<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-01T13:36:10.812707+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/bit-seaweedfs-2026-72921</id>
    <title>BIT-seaweedfs-2026-72921 — SeaweedFS: Filer JWT allowed_prefixes literal prefix match allows cross-tenant access to sibling paths</title>
    <updated>2026-10-01T13:36:10.829798+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Bitnami: seaweedfs</p>
<p>SeaweedFS is a distributed storage system. Prior to 4.24, the weed/server/filer_server_handlers.go allowed_prefixes authorization check used strings.HasPrefix on raw path strings, so a filer JWT scoped to /tenant1 also authorized sibling paths such as /tenant1234, /tenant1-old, and /tenant1backup, enabling cross-tenant reads and writes with a valid scoped token. This issue is fixed in version 4.24.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/bit-seaweedfs-2026-72921"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/fkie_cve-2026-72921</id>
    <title>fkie_cve-2026-72921</title>
    <updated>2026-10-01T13:36:10.829899+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>SeaweedFS is a distributed storage system. Prior to 4.24, the weed/server/filer_server_handlers.go allowed_prefixes authorization check used strings.HasPrefix on raw path strings, so a filer JWT scoped to /tenant1 also authorized sibling paths such as /tenant1234, /tenant1-old, and /tenant1backup, enabling cross-tenant reads and writes with a valid scoped token. This issue is fixed in version 4.24.</p>
      </div>
    </content>
    <link href="https://db.gcve.eu/vuln/fkie_cve-2026-72921"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-gv5w-hfx8-8cwq</id>
    <title>GHSA-gv5w-hfx8-8cwq — SeaweedFS: Filer JWT allowed_prefixes literal prefix match allows cross-tenant access to sibling paths</title>
    <updated>2026-10-01T13:36:10.829932+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: github.com/seaweedfs/seaweedfs</p>
<p>### Impact
When a filer JWT restricts a token to a set of path prefixes via `allowed_prefixes`, the authorization check used a literal byte-prefix match (`strings.HasPrefix`). A token scoped to `/tenant1` therefore also authorized requests to sibling paths such as `/tenant1234`, `/tenant1-old`, and `/tenant1backup`.</p>
<p>In a multi-tenant deployment this lets the holder of one tenant's token access another tenant's data. Because `allowed_prefixes` gates both read and write tokens, the impact covers cross-tenant reads and writes. A valid scoped token is required, so this is an authorization bypass rather than a fully unauthenticated flaw.</p>
<p>### Affected component
- `weed/server/filer_server_handlers.go` (JWT `allowed_prefixes` authorization check)</p>
<p>### Patches
Fixed in **4.24**. The check now matches on `/`-separated path components after `path.Clean` normalisation, so `/tenant1` authorizes only `/tenant1` and its descendants — not `/tenant1234` or other sibling paths.</p>
<p>### Workarounds
Where feasible, choose prefix names that are not string-prefixes of one another (e.g. keep a trailing separator convention). Upgrade to 4.24.</p>
<p>### References
- Reported by Kadir Arslan (https://github.com/KadirArslan)</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-gv5w-hfx8-8cwq"/>
  </entry>
</feed>
