Skip to content
Noroxi
CVE-2026-58372· NVD / CVE Program· CNA VulnCheck

SeaweedFS < 4.34 - Cross-Bucket Object Deletion via DeleteObjects Request-Body Keys

SeaweedFS before 4.34 contains a path traversal vulnerability in the S3 gateway DeleteMultipleObjectsHandler that allows authenticated S3 principals with write access to a single bucket to delete arbitrary objects in other tenants' buckets by supplying object keys containing ../ sequences in the DeleteObjects XML request body. Attackers can bypass authorization controls through a confused deputy condition, as the validateRequestPath middleware only inspects URL-captured path variables and never examines request-body keys, allowing the filer path to collapse directory traversal sequences and resolve deletions outside the authorized bucket.

HighCVSS 7.2 · v4.0—No exploit Fix available

Noroxi analysis

No Noroxi analysis for this record yet

We don't hand-write analysis for the hundreds of thousands of vulnerabilities in the database; that wouldn't be honest. For notable, high-impact vulnerabilities our team writes the mechanism, detection and remediation steps.

We use this product, ask for help
Published
Jun 30, 2026
Updated
Jul 14, 2026
EPSS
1.1% · 65th percentile
Follow this CVE

Sign in to follow · You’ll be notified if a followed record enters KEV, gets an exploit or is updated.

Report tools

JSON

Action score

28

Monitor

Low priority for now.

CVSS
28 / 40 · 7.2 / 10
CISA KEV
0 / 30 · Not listed
EPSS
0 / 30 · 1.1%

CISA SSVC decision

Exploitation
proof of concept
Automatable
no
Technical impact
total

Vulnrichment: CISA's decision-tree inputs.

CNA vs NVD score

NVD
—
CNA · VulnCheck
8.1
NVD has not scored this yet; the score shown is the CNA’s.

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

The score given by the assigning authority versus NVD’s independent score. A gap means the severity is contested.

Affected systems

—

Versions reported by the vendor

Affected version ranges reported by the assigning authority (VulnCheck). Independent of NVD's CPE analysis and usually ahead of it.

  • seaweedfs seaweedfs

    • before 4.34affected

Package-level exposure

OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.

EcosystemPackageAffected rangeFix
Gogithub.com/seaweedfs/seaweedfsbefore 0.0.0-20260526080459-dd1b4287899e0.0.0-20260526080459-dd1b4287899e

Other highest-scoring records for the same primary product.

  • CVE-2026-72920SeaweedFS: Unauthenticated filer IAM gRPC service grants S3 administrative control
    39Monitor
  • CVE-2026-73080SeaweedFS: Unauthenticated SSRF with response read-back via VolumeServer.FetchAndWriteNeedle
    37Monitor
  • CVE-2026-77298SeaweedFS S3 OIDC Bearer authentication bypasses IAM role trust policy
    34Monitor
  • CVE-2026-77317SeaweedFS: SFTP path ACL literal prefix match permits cross-tenant file read and overwrite
    32Monitor
  • CVE-2026-72921SeaweedFS: Filer JWT allowed_prefixes literal prefix match allows cross-tenant access to sibling paths
    32Monitor
  • CVE-2026-54917SeaweedFS: Path traversal in the S3 and Iceberg REST gateways allows cross-bucket access
    31Monitor

Remediation

Which version to upgrade to

Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.

Product / packageFixed versionSource
Go:github.com/seaweedfs/seaweedfs0.0.0-20260526080459-dd1b4287899ePackage registry (OSV)

Exploit status

No known public exploit

No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.

Research context

For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.

Timeline

From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.

No dated events beyond publication.

EPSS, last 120 days

FIRST EPSS daily score; only changes of 0.01 or more are recorded (step chart).

Patch and commit links

Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.

Finders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.

Variant candidates

Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.

  • CVE-2026-549175 days apartSeaweedFS: Path traversal in the S3 and Iceberg REST gateways allows cross-bucket access
    31Monitor
  • CVE-2026-558748 days apartSeaweedFS: Path traversal in the S3 gateway X-Amz-Copy-Source header allows cross-bucket object read
    30Monitor

Chain candidates

An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.

  • CVE-2026-7292042 days apartSeaweedFS: Unauthenticated filer IAM gRPC service grants S3 administrative control
    39Monitor
  • CVE-2026-7729857 days apartSeaweedFS S3 OIDC Bearer authentication bypasses IAM role trust policy
    34Monitor

Bug bounty scope

No known public program.

Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).

Technical details

Attack conditions

  • Anyone who can reach it over the internet can trigger it.
  • A low-privileged account is enough.
  • No user action is required.
  • No special conditions are required; it is repeatable.

If successful

Confidentiality
Integrity
Availability
Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
X

CVSS vector

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/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-secondary

Root cause

A user-supplied file name is joined with the allowed directory, but the result is never checked to confirm it is still inside that directory.

A representative example of this vulnerability class. Not the vendor's source code; it shows the faulty pattern and its fix.

Vulnerable

ts
const file = path.join(ROOT, req.query.name);res.sendFile(file);

Fixed

ts
const file = path.resolve(ROOT, req.query.name);if (!file.startsWith(ROOT + path.sep)) {  return res.sendStatus(400);}res.sendFile(file);

Change log

  1. Fix✗ → ✓

For records you follow, these changes also arrive as notifications. →

References

All records