CVE-2026-54917 json
SeaweedFS: Path traversal in the S3 and Iceberg REST gateways allows cross-bucket access
published 2026-06-25 4 mo ago modified 2026-09-25 44 d ago also BIT-seaweedfs-2026-54917 , BIT-seaweedfs-2026-58372 , CVE-2026-58372 , EUVD-2026-39535 , GHSA-w62w-66v9-vvgv , GO-2026-6221
- cvss
- 10.0
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.6%
- EPSS 1.6% chance of exploitation in 30 days, percentile 76%
- public exploits
- 0
- none known, plus a Nuclei check
Summary
SeaweedFS is a distributed storage system for object storage (S3), file systems, and Iceberg tables. Prior to 4.30, the S3 API gateway and the Iceberg REST catalog gateway construct their routers with mux.NewRouter().SkipClean(true). With path cleaning disabled, a .. segment inside the URL survives routing, so a request such as `GET /bucket-A/../evil-bucket/key`, is matched as bucket=bucket-A, object=../evil-bucket/key. The captured object key is then joined into a filer path with util.JoinPath (S3) / path.Join (Iceberg), which collapse the .. server-side, so the actual read or write lands in evil-bucket. This vulnerability is fixed in 4.30.
Patch / fix
- go github.com/seaweedfs/seaweedfs 0.0.0-20260526080459-dd1b4287899e
- bitnami seaweedfs 4.30.0, 4.34.0
- seaweedfs seaweedfs 4.30
- govulncheck-vulndb SLES for SAP applications 16.0, SLES 16.0 0.0.20260827T195228-160000.1.1
suse advisories SUSE-SU-2026:23625-1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260827T195228-160000.1.1
opensuse advisories openSUSE-SU-2026:21761-1
- github.com/seaweedfs/seaweedfs@dd1b428 commit
- github.com/seaweedfs/seaweedfs@0345658 commit
- github.com/seaweedfs/seaweedfs#9687 pull request
- github.com/seaweedfs/seaweedfs#9931 pull request
- github.com/seaweedfs/seaweedfs/releases/tag/4.34 release
- github.com/seaweedfs/seaweedfs/security/advisories/GHSA-w62w-66v9-vvgv advisory
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
1.64% chance of exploitation in the next 30 days, higher than 76% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- Nuclei template SeaweedFS <= 4.29 - Path Traversal File Write nuclei detection template
- github.com https://github.com/seaweedfs/seaweedfs/security/advisories/GHSA-w62w-66v9-vvgv referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 7.8 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N |
| CNA | 4.0 | 7.8 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N |
| OSV | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/seaweedfs/seaweedfs | <0.0.0-20260526080459-dd1b4287899e |
0.0.0-20260526080459-dd1b4287899e |
| bitnami | seaweedfs | <4.30.0 <4.34.0 |
4.30.0 4.34.0 |
Affected products
- seaweedfs seaweedfs
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/seaweedfs/seaweedfs/pull/9687
web, issue-tracking, mitigation, report, patch
-
github.com
/seaweedfs/seaweedfs/security/advisories/GHSA-w62w-66v9-vvgv
exploit, web, patch, vendor-advisory, advisory
-
github.com
/seaweedfs/seaweedfs/commit/dd1b4287899eed3dfd73c2f3b1de001996fda229
web, patch
-
github.com
/seaweedfs/seaweedfs/commit/0345658ea8e7c6a3948ad190634b00866ec244c9
web
-
github.com
/seaweedfs/seaweedfs/pull/9931
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-54917
advisory, web
-
github.com
/seaweedfs/seaweedfs
package
-
github.com
/geo-chen/oss/blob/main/seaweedfs.md
web
-
github.com
/seaweedfs/seaweedfs/releases/tag/4.34
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-58372
web
-
vulncheck.com
/advisories/seaweedfs-cross-bucket-object-deletion-via-deleteobjects-request-body-keys
web
Sources
- CVE List CVE-2026-54917
- GitHub Advisory GHSA-w62w-66v9-vvgv
- NVD CVE-2026-54917
- OSV BIT-seaweedfs-2026-54917
- OSV BIT-seaweedfs-2026-58372
- OSV GO-2026-6221
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.