Skip to content
seaweedfsGHSA-gv5w-hfx8-8cwq

SeaweedFS: Filer JWT allowed_prefixes literal prefix match allows cross-tenant access to sibling paths

High8.1CVE-2026-72921 · Published Sep 2, 2026 · updated Sep 10, 2026

GitHub advisory

Affected versions

PackageAffectedFixed in
github.com/seaweedfs/seaweedfs
Go
< 0.0.0-20260512171048-05ed5c9ae8a20.0.0-20260512171048-05ed5c9ae8a2
Details and references

### 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`. 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. ### Affected component - `weed/server/filer_server_handlers.go` (JWT `allowed_prefixes` authorization check) ### 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. ### 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. ### References - Reported by Kadir Arslan (https://github.com/KadirArslan)

CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Severity from
GitHub (reviewed advisory)
Weakness
CWE-863
Also known as
BIT-seaweedfs-2026-72921, CVE-2026-72921, GO-2026-6361

More seaweedfs advisories

All
DateAdvisory
Sep 2SeaweedFS: Unauthenticated filer IAM gRPC service grants S3 administrative control
CVE-2026-72920Critical9.8fixed in 0.0.0-20260512171108-5e8f99f40a8a
Aug 28SeaweedFS: Path traversal in the S3 gateway X-Amz-Copy-Source header allows cross-bucket object read
CVE-2026-55874High7.7fixed in 0.0.0-20260612000715-b44cf51fe931
Aug 28SeaweedFS: Improper authorization in the S3Tables / Iceberg REST management API lets a low-privileged S3 user enumerate administrator-owned table buckets
CVE-2026-55873Medium4.3fixed in 0.0.0-20260614205536-b13463880c1f
Aug 12SeaweedFS: Path traversal in the S3 and Iceberg REST gateways allows cross-bucket access
CVE-2026-54917Highfixed in 0.0.0-20260526080459-dd1b4287899e
Aug 11SeaweedFS: Unauthenticated SSRF with response read-back via VolumeServer.FetchAndWriteNeedle
CVE-2026-73080Critical9.3fixed in 0.0.0-20260512171120-69da20bdaec9
May 162025SeaweedFS Vulnerable to SQL Injection
CVE-2024-40120Medium6.5fixed in 0.0.0-20240625155419-9ac102336200

Critical advisories by email

Wednesdays: the week’s critical and high advisories in the AI and data stack, with the fixed versions. Only in weeks that have some.

Double opt-in. Unsubscribe any time.