Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege S3 principal
-
DeliveryIdentify scoped nested key permission (e.g., allowed/protected.txt)
-
ExploitCraft PutObjectAcl request for authorized nested key
-
ExecutionHandler resolves write directory to bucket root
-
ImpactOverwrite root-level object sharing same basename outside authorized scope
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires: (1) a valid SeaweedFS S3 API credential with at least PutObjectAcl permission on a nested object key (e.g., |
| Impact | CVSS 7.1 (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L) reflects a network-exploitable, low-complexity flaw requiring only a valid low-privilege S3 credential. The high integrity score is well-founded: successful exploitation completely replaces the target object's content, metadata, and ACL, which in a multi-tenant or namespace-isolated deployment constitutes a serious authorization boundary violation. The availability impact is rated Low because the overwrite destroys the target object's data as a side effect. There is no confidentiality impact - the attacker cannot read data they are not authorized to read. EPSS data was not provided in source intelligence; without it, probabilistic exploitation likelihood cannot be quantified. The absence from CISA KEV and the lack of any reported POC code suggest opportunistic exploitation is currently low, but the vulnerability is mechanically straightforward once an attacker understands the path confusion. The fix commit and advisory are public, which lowers the barrier to reverse-engineering an exploit. Deployments using SeaweedFS with fine-grained S3 identity file scoping across nested key hierarchies are at material risk. |
| Exploit ScenarioDerived | An attacker operating as a low-privilege S3 tenant scoped only to |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 26, 2026
Incorrect authorization in SeaweedFS S3 API's PutObjectAcl handler allows an authenticated low-privilege S3 principal to overwrite objects outside their permission scope. Versions prior to 4.40 compute the write-back directory from the bucket root rather than the actual parent directory of the nested key, meaning a principal scoped to allowed/protected.txt silently overwrites protected.txt at the bucket root - clobbering its content, metadata, owner, and ACL. No public exploit code identified at time of analysis, and this CVE is not listed in CISA KEV.
RemediationAI
Upgrade to SeaweedFS version 4.40, which contains the fix in commit 311bc3a6dfbd042751692bc3de8accc516fcf8c1. The fix is confirmed in the GitHub Security Advisory GHSA-9x53-cjpr-m682 and the linked commit at https://github.com/seaweedfs/seaweedfs/commit/311bc3a6dfbd042751692bc3de8accc516fcf8c1. If immediate upgrade is not feasible, restrict S3 identity file scoping so that no principal has write permissions to any nested key path that shares a basename with a root-level object requiring protection; this eliminates the specific cross-scope overwrite condition at the cost of reduced permission granularity. Alternatively, disable PutObjectAcl access for all non-administrator S3 principals until patched, accepting that ACL self-management by tenants will be unavailable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
SeaweedFS (cpe:2.3:a:seaweedfs:seaweedfs:*:*:*:*:*:*:*:*) implements an S3-compatible API layer in Go. The vulnerable code path is PutObjectAclHandler in weed/s3api/s3api_object_handlers_acl.go. The root cause (CWE-863: Incorrect Authorization) is a directory resolution bug: the handler correctly authorizes the request against the requested nested object key but then calls UpdateEntry with updateDirectory hard-coded to s3a.bucketDir(bucket) - always the bucket root - rather than computing the parent directory from the full object key path. Because the filer write carries the full entry (not just ACL metadata), the entire object stored at the bucket root sharing the same basename is replaced. The fix in commit 311bc3a6 introduces objectAclUpdateDirectory, which uses util.NewFullPath(s3a.bucketDir(bucket), object).DirAndName() to derive the correct parent directory for non-versioned objects, and correctly handles versioned and null-version cases separately.
Know when Seaweedfs gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
Network-exposed S3 API; requires low-privilege auth credential; no confidentiality impact; integrity is high as full object overwrite occurs; availability is low due to incidental data destruction.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
SeaweedFS is a distributed storage system for files and blobs. In versions prior to 4.40, an authenticated S3 principal with permissions scoped to a nested object key can overwrite a different object outside that scope by calling PutObjectAcl on the key it is allowed to access. The handler authorizes the request against the requested nested key but then writes the updated entry back to the bucket root rather than the key's actual parent directory, so an ACL change on allowed/protected.txt is instead applied to protected.txt at the bucket root. Because the update carries the full entry rather than only ACL metadata, an existing target object is overwritten with the content, metadata, owner information, and ACL of the scoped object, bypassing the object-level action scoping configured through the static S3 identity file. This issue is fixed in version 4.40.
Executive ViewAI
SeaweedFS S3 API versions prior to 4.40 contain an authorization flaw allowing authenticated low-privilege users to modify objects outside their assigned scope, potentially compromising data integrity for organizations using this storage platform. The vulnerability requires valid S3 credentials but affects any deployment with multiple users or shared access.
No vendor-released patch identified at time of analysis. Interim mitigations include: restricting S3 API network access to trusted networks, enforcing principle-of-least-privilege for S3 credentials with per-object policies, enabling comprehensive audit logging for all S3 PutObjectAcl operations with alerting for unauthorized modifications, and temporarily disabling S3 API access for non-critical use cases until a patched version is available.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Server-side request forgery with response read-back in SeaweedFS distributed storage (versions prior to 4.24) lets anyon
Cross-tenant authorization bypass in SeaweedFS filer JWT path authorization allows any authenticated tenant to read and
Cross-bucket read/write in SeaweedFS before 4.30 lets remote attackers escape a bucket's namespace because the S3 API ga
Cross-tenant object deletion in SeaweedFS before 4.34 lets an authenticated S3 principal holding write access to just on
Authentication bypass in SeaweedFS filer before 4.24 exposes the SeaweedIdentityAccessManagement gRPC service without an
Authorization bypass in SeaweedFS versions 4.39 and earlier allows authenticated federated users to assume IAM roles the
Incorrect path authorization in SeaweedFS SFTP server (versions 3.88-4.39) allows an authenticated low-privilege user to
SeaweedFS 4.39's TUS resumable-upload handler fails to re-validate JWT prefix scoping on HEAD, PATCH, and DELETE operati
Unvalidated JSONP callback reflection in SeaweedFS before 4.30 enables cross-origin reads of cluster topology, volume se
seaweedfs v3.68 was discovered to contain a SQL injection vulnerability via the component /abstract_sql/abstract_sql_sto
EUVD-2026-66770
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB