RustFSでWebDAV・FTP・SFTP経由のバケットポリシー回避により保護データが改ざんされるおそれ
Summary
RustFSのWebDAV、FTP、FTPS、SFTPの各リスナーでは、バケットポリシーや条件キーによる拒否が適用されず、有効なアクセスキーを持つ利用者が拒否されたオブジェクトを読み取り、上書き、削除できるおそれがあります。影響を受けるのはrustfsクレートで、修正版は1.0.2です。1.0.2以降へ更新してください。
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
RustFSのWebDAV、FTP、FTPS、SFTPの各リスナーでは、バケットポリシーや条件キーによる拒否が適用されず、有効なアクセスキーを持つ利用者が拒否されたオブジェクトを読み取り、上書き、削除できるおそれがあります。影響を受けるのはrustfsクレートで、修正版は1.0.2です。1.0.2以降へ更新してください。
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| rust | rustfs |
<= 1.0.1 |
1.0.2 |
Original description The description as published by the source.
Summary
RustFS enforces bucket policies and policy condition keys only on the S3 API authorization path. The alternate file protocol listeners (WebDAV, FTP, FTPS, SFTP) authorize every operation only against IAM identity policies with a hard-coded empty condition map, and their storage backend calls the s3s S3 handler methods directly without passing through the s3s S3Access layer where authorize_request runs. An attacker who holds any valid access key pair can therefore read, overwrite, and delete objects that a bucket policy explicitly denies to them, and can read objects whose IAM Deny is conditioned on request attributes such as aws:SourceIp, by simply using WebDAV, FTP, or SFTP instead of S3. Affected component: rustfs-protocols authorization gateway and the rustfs protocol storage client. Required privilege: a valid access key pair (IAM user or service account) and network reachability to an enabled protocol listener. Ultimate consequence: unauthorized disclosure and tampering of protected object data.
Novelty classification: Historical-related variant. Prior advisories GHSA-3g29-xff2-92vp and GHSA-g3vq-vv42-f647 covered entirely missing IAM authorization on FTP/FTPS handlers and were fixed by adding the shared gateway used today. This report describes a distinct gap in the same trust boundary. The duplicate-check outcome is below.
Details
Tested revision: rustfs main commit 1e7065101d7de4ebacabd249db5b4debbf5baa68 (crate version 1.0.1, 84 commit…
Source: GitHub Repository Security Advisories (Game のスタック) GitHub Advisory OSV
References
- GITHUB_REPO_ADVISORY rustfs/rustfs