Description
SeaweedFS is a distributed storage system for files and blobs. In versions 4.39 and earlier, the S3 API accepts an external OIDC JWT sent directly in the Authorization header and maps it to an IAM role without enforcing that role's trust policy, so a federated user can assume a role they are not permitted to hold. The standard STS AssumeRoleWithWebIdentity path rejects such a token when the role's trust policy does not trust the token's federated provider, but the direct S3 bearer path validates only the token itself and then authenticates as the mapped role and evaluates that role's attached S3 permissions. As a result, a valid OIDC user whose token would be denied the role through STS can obtain the role's S3 access, including object read, write, and delete, by presenting the raw OIDC JWT directly to the S3 API. This issue is fixed in version 4.40
Published: 2026-08-26
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

SeaweedFS distributes object storage through an S3-compatible API. In versions 4.39 and earlier the API accepts an external OIDC JSON Web Token that is presented directly in the Authorization header. The token is mapped to an IAM role without enforcing that role’s trust policy. Consequently, a federated user can assume a role for which the trust policy would normally deny access, and then obtain the role’s S3 permissions. This vulnerability is a form of unauthorized privilege escalation and corresponds to CWE‑863, Incomplete Permissions Check.

Affected Systems

The affected product is SeaweedFS, a distributed file and blob storage system. Versions 4.39 and older are impacted; the fault is addressed in version 4.40 and later.

Risk and Exploitability

The CVSS score of 8.7 classifies the flaw as high severity. Exploit probability data from EPSS is not available, and the vulnerability is not listed in CISA’s KEV catalog. An attacker who can acquire a valid OIDC token issued to a federated user can send that token directly to the S3 API, bypassing the trust evaluation step that STS AssumeRoleWithWebIdentity would enforce. This allows the attacker to obtain the full permissions attached to the role, including read, write, and delete access to any object the role permits. The attack does not require system compromise beyond the possession of a legitimate OIDC token, making it a low‑barrier privilege escalation.

Generated by OpenCVE AI on August 26, 2026 at 23:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade SeaweedFS to version 4.40 or later
  • Reconfigure the S3 API to reject direct OIDC bearer tokens or enforce the STS AssumeRoleWithWebIdentity flow
  • Audit IAM role trust policies and monitor for anomalous role assumption activity

Generated by OpenCVE AI on August 26, 2026 at 23:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 27 Aug 2026 00:00:00 +0000

Type Values Removed Values Added
First Time appeared Seaweedfs
Seaweedfs seaweedfs
Vendors & Products Seaweedfs
Seaweedfs seaweedfs

Wed, 26 Aug 2026 22:00:00 +0000

Type Values Removed Values Added
Description SeaweedFS is a distributed storage system for files and blobs. In versions 4.39 and earlier, the S3 API accepts an external OIDC JWT sent directly in the Authorization header and maps it to an IAM role without enforcing that role's trust policy, so a federated user can assume a role they are not permitted to hold. The standard STS AssumeRoleWithWebIdentity path rejects such a token when the role's trust policy does not trust the token's federated provider, but the direct S3 bearer path validates only the token itself and then authenticates as the mapped role and evaluates that role's attached S3 permissions. As a result, a valid OIDC user whose token would be denied the role through STS can obtain the role's S3 access, including object read, write, and delete, by presenting the raw OIDC JWT directly to the S3 API. This issue is fixed in version 4.40
Title SeaweedFS S3 OIDC Bearer authentication bypasses IAM role trust policy
Weaknesses CWE-863
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Seaweedfs Seaweedfs
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-26T21:16:51.165Z

Reserved: 2026-08-20T19:17:14.375Z

Link: CVE-2026-77298

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-26T22:16:29.570

Modified: 2026-08-26T22:16:29.570

Link: CVE-2026-77298

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-26T23:45:03Z

Weaknesses