CVE-2026-77298: SeaweedFS S3 OIDC Bearer authentication bypasses IAM role trust policy

Published Aug 26, 2026
·
Updated

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

Affected Software

1 affected component
seaweedfs seaweedfs<=4.39

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade SeaweedFS S3 OIDC to a version that resolves this vulnerability.

    Fixed in 4.40

Event History

Aug 26, 2026
CVE Published
via MITRE·09:16 PM
Data Sourced
via MITRE·09:16 PM
DescriptionWeakness
Data Sourced
via NVD·10:16 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this issue?

An attacker needs a valid external OIDC JWT for a federated user and a mapping that causes the direct S3 bearer-authentication path to select an IAM role. The role's trust policy may explicitly reject that token's federated provider; that rejection is bypassed only through the direct S3 API bearer path.

2

What access can an attacker obtain?

The attacker is authenticated as the mapped IAM role, and SeaweedFS evaluates that role's attached S3 permissions. Depending on those permissions, this can include reading, writing, or deleting objects.

3

Are deployments using STS AssumeRoleWithWebIdentity affected in the same way?

The standard STS AssumeRoleWithWebIdentity path enforces the role trust policy and rejects tokens from untrusted federated providers. The bypass occurs when a raw external OIDC JWT is supplied directly in the S3 API Authorization header.

4

What should be done if an immediate upgrade is not possible?

The provided information identifies the direct S3 bearer-authentication path as the affected path. Restricting or disabling use of raw external OIDC JWTs directly against the S3 API would avoid that path, where operationally feasible.

5

Which versions contain the fix?

SeaweedFS version 4.40 fixes the issue. Versions 4.39 and earlier are affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203