# CVE-2026-72921: SeaweedFS Filer JWT authorization bypass in allowed_prefixes

Source: https://junglewise.ai/threats/cve-2026-72921-seaweedfs-filer-jwt-authorization-bypass-in-allowed-prefixes  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-02. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-72921 · Severity: high · CVSS 8.1 · Published 2026-09-02

SeaweedFS is a distributed storage system used to store and manage files across multiple servers in multi-tenant environments. A flaw in its JWT-based path authorization allows a token scoped to one tenant path (e.g., `/tenant1`) to also access sibling paths with similar names (e.g., `/tenant1234`, `/tenant1-old`). This enables unauthorized cross-tenant data access for both reading and writing, affecting the confidentiality and integrity of isolated tenant data.

Technologies: [github.com/seaweedfs/seaweedfs (Go)](https://junglewise.ai/threats/technologies/github-com-seaweedfs-seaweedfs). Vendors: [Go](https://junglewise.ai/threats/vendors/go).

## Quick answers

**Is CVE-2026-72921 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-72921 being exploited in the wild.

**How severe is CVE-2026-72921?** High severity, with a CVSS score of 8.1, published 2 September 2026.

**Which products and versions are affected?** github.com/seaweedfs/seaweedfs (Go) < 0.0.0-20260512171048-05ed5c9ae8a2, SEMVER:introduced=0,fixed=0.0.0-20260512171048-05ed5c9ae8a2.

**Is there a fix for CVE-2026-72921?** Yes. github.com/seaweedfs/seaweedfs (Go): upgrade to 0.0.0-20260512171048-05ed5c9ae8a2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-72921 attacked?** It is attacked over the network, in a hosted service.

**Am I affected by CVE-2026-72921?** Check whether you run github.com/seaweedfs/seaweedfs (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/seaweedfs/seaweedfs (Go): upgrade to 0.0.0-20260512171048-05ed5c9ae8a2 or later

  ```sh
  go get github.com/seaweedfs/seaweedfs@v0.0.0-20260512171048-05ed5c9ae8a2
  ```


## Technical details

The vulnerability is a path traversal / authorization bypass in SeaweedFS Filer's JWT validation logic. The affected component `weed/server/filer_server_handlers.go` uses `strings.HasPrefix()` for a literal byte-prefix match when validating tokens against the `allowed_prefixes` configuration. This means a token authorized for `/tenant1` will incorrectly match paths like `/tenant1234`, `/tenant1-old`, and `/tenant1backup`. The attack requires a valid, legitimately-issued JWT scoped to a tenant; an attacker cannot forge tokens. Once in possession of a scoped token, the holder can read and write to unintended tenant directories. The fix, available in version 4.24 and later, normalizes paths with `path.Clean()` and matches on `/`-separated path components, ensuring `/tenant1` only authorizes `/tenant1` and its true descendants.

## Affected products

- SeaweedFS SeaweedFS < 4.24

## Identifiers

- CVE-2026-72921
- GHSA-gv5w-hfx8-8cwq
- GO-2026-6361

## Timeline

- 2026-07-08: disclosed
- 2026-09-02: advisory: GitHub Advisory published
- 2026-04-12: patched: Fixed in version 4.24

## References

- [https://api.github.com/users/KadirArslan](https://api.github.com/users/KadirArslan)
- [https://github.com/KadirArslan](https://github.com/KadirArslan)
- [https://api.github.com/users/KadirArslan/gists%7B/gist_id%7D](https://api.github.com/users/KadirArslan/gists%7B/gist_id%7D)
- [https://api.github.com/users/KadirArslan/repos](https://api.github.com/users/KadirArslan/repos)
- [https://avatars.githubusercontent.com/u/35239791?v=4](https://avatars.githubusercontent.com/u/35239791?v=4)
- [https://api.github.com/users/KadirArslan/events%7B/privacy%7D](https://api.github.com/users/KadirArslan/events%7B/privacy%7D)

## Related threats

- [SeaweedFS unauthenticated filer IAM gRPC service authentication bypass](https://junglewise.ai/threats/cve-2026-72920-seaweedfs-unauthenticated-filer-iam-grpc-service-authentication)
- [SeaweedFS unauthenticated SSRF in VolumeServer.FetchAndWriteNeedle](https://junglewise.ai/threats/cve-2026-73080-seaweedfs-unauthenticated-ssrf-in-volumeserver)
- [SeaweedFS path traversal in S3 API X-Amz-Copy-Source header](https://junglewise.ai/threats/cve-2026-55874-seaweedfs-path-traversal-in-s3-api-x-amz-copy-source-header)
- [SeaweedFS incorrect authorization in S3Tables management API](https://junglewise.ai/threats/cve-2026-55873-seaweedfs-incorrect-authorization-in-s3tables-management-api)
- [SeaweedFS path traversal in S3 and Iceberg gateways](https://junglewise.ai/threats/cve-2026-54917-seaweedfs-path-traversal-in-s3-and-iceberg-gateways)
