Object Lock COMPLIANCE bypass: force-deleting a bucket destroys retained objects in RustFS 1.0.0
Résumé
Summary
Summary
RustFS 1.0.0 allows an authorised force-delete caller, including the root/owner identity, to delete an Object-Lock-enabled bucket containing an object version under active COMPLIANCE retention.
Normal object-level Object Lock enforcement works correctly:
- deleting...
Résumé IA
Rédigé par une IA externe ; il peut contenir des erreurs. Vérifiez la description d'origine et les références ci-dessous avant d'agir.
RustFS 1.0.0 では、権限を持つユーザーが強制削除の指定を付けてバケットを削除すると、COMPLIANCE モードの保持期間中のオブジェクトを含むバケットも削除されてしまいます。影響を受けるのは RustFS 1.0.0 です。修正版の 1.0.2 以降へ更新してください。
Paquets affectés
| Écosystème | Paquet | Concernées | Corrigé |
|---|---|---|---|
| rust | rustfs |
= 1.0.0 |
1.0.2 |
Description d'origine La description telle que publiée par la source (souvent en anglais).
Summary
Summary
RustFS 1.0.0 allows an authorised force-delete caller, including the root/owner identity, to delete an Object-Lock-enabled bucket containing an object version under active COMPLIANCE retention.
Normal object-level Object Lock enforcement works correctly:
- deleting the retained version is denied;
BypassGovernanceRetentiondoes not bypass COMPLIANCE retention;- shortening the retention period is denied;
- changing the retention mode from COMPLIANCE to GOVERNANCE is denied;
- retention metadata and object bytes survive a RustFS restart.
However, sending DeleteBucket with:
x-rustfs-force-delete: true
### Details
## Summary
RustFS 1.0.0 allows an authorised force-delete caller, including the root/owner identity, to delete an Object-Lock-enabled bucket containing an object version under active COMPLIANCE retention.
Normal object-level Object Lock enforcement behaves correctly in the same test:
- deleting the retained version is denied;
- `BypassGovernanceRetention` does not bypass COMPLIANCE retention;
- shortening the COMPLIANCE retention period is denied;
- changing the retention mode from COMPLIANCE to GOVERNANCE is denied;
- retention metadata and the retained bytes survive a RustFS restart.
However, sending an authenticated `DeleteBucket` request containing:
```http
x-rustfs-force-delete: true
### Proof of concept
# Proof of concept
```markdown
> **Warning:** This proof of concept irreversibly deletes the test bucket. Run…
Source: GitHub Repository Security Advisories (Game のスタック) GitHub Advisory OSV
Références
- GITHUB_REPO_ADVISORY rustfs/rustfs