{"id":"EUVD-2026-39535","enisaUuid":"3e2c927b-bee9-3d67-8f3a-61c8f2e24e4d","description":"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\u003dbucket-A, object\u003d../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.","datePublished":"Jun 25, 2026, 6:41:19 PM","dateUpdated":"Jun 25, 2026, 7:05:31 PM","baseScore":7.8,"baseScoreVersion":"4.0","baseScoreVector":"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","references":"https://github.com/seaweedfs/seaweedfs/security/advisories/GHSA-w62w-66v9-vvgv\nhttps://github.com/seaweedfs/seaweedfs/pull/9687\n","aliases":"CVE-2026-54917\nGHSA-w62w-66v9-vvgv\n","assigner":"GitHub_M","epss":1.64,"enisaIdProduct":[{"id":"da480659-7c00-3a25-9132-d8324285058b","product":{"name":"seaweedfs","vendor":{"name":"seaweedfs"}},"product_version":"\u003c 4.30"}],"enisaIdVendor":[{"id":"55e81d06-8077-354b-ac03-80dc12a1492e","vendor":{"name":"seaweedfs"}}],"enisaIdVulnerability":[{"id":"4dc30de8-f45f-3343-9266-6495a161a6d5","vulnerability":{"id":"GHSA-w62w-66v9-vvgv","description":"SeaweedFS: Path traversal in the S3 and Iceberg REST gateways allows cross-bucket access","datePublished":"Aug 12, 2026, 7:19:54 PM","dateUpdated":"Aug 12, 2026, 7:19:54 PM","baseScore":0.0,"references":"https://github.com/seaweedfs/seaweedfs/security/advisories/GHSA-w62w-66v9-vvgv\nhttps://nvd.nist.gov/vuln/detail/CVE-2026-54917\nhttps://github.com/seaweedfs/seaweedfs/pull/9687\nhttps://github.com/seaweedfs/seaweedfs/commit/dd1b4287899eed3dfd73c2f3b1de001996fda229\nhttps://github.com/seaweedfs/seaweedfs\n","enisa_id":"EUVD-2026-39535\n","aliases":"CVE-2026-54917\nGHSA-w62w-66v9-vvgv\n","epss":0.0,"dataProcessed":"Nov 1, 2026, 2:03:49 AM","vulnerabilityProduct":[],"vulnerabilityVendor":[]}},{"id":"a2c451b4-c6a2-35a6-9c28-20a9304452ef","vulnerability":{"id":"CVE-2026-54917","description":"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\u003dbucket-A, object\u003d../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.","datePublished":"Jun 25, 2026, 6:41:19 PM","dateUpdated":"Jun 25, 2026, 7:05:31 PM","status":"PUBLISHED","baseScore":7.8,"baseScoreVersion":"4.0","baseScoreVector":"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","references":"https://github.com/seaweedfs/seaweedfs/security/advisories/GHSA-w62w-66v9-vvgv\nhttps://github.com/seaweedfs/seaweedfs/pull/9687\n","enisa_id":"EUVD-2026-39535\n","assigner":"GitHub_M","epss":1.64,"dataProcessed":"Nov 7, 2026, 7:20:15 AM","vulnerabilityProduct":[{"id":"e53affb7-6f62-3e1b-92f0-9d9d34b02c75","product":{"name":"seaweedfs","vendor":{"name":"seaweedfs"}},"product_version":"\u003c 4.30"}],"vulnerabilityVendor":[{"id":"5c15819f-2d28-3e29-8ea1-3e63b8ac5606","vendor":{"name":"seaweedfs"}}]}}],"enisaIdAdvisory":[]}