RustFS — это распределенная система хранения объектов, построенная на Rust. Начиная с версий 1.0.0-alpha.64 и до 1.0.0-rc.1, внешняя авторизация OPA RustFS, включенная с помощью RUSTFS_POLICY_PLUGIN_URL в crates/iam/src/sys.rs, неправильно устанавливает ReadyamAuth.needs_existing_object_tag для ReadedIamMode::Opa, в результате чего Maybe_merge_object_tag_conditions пропускается. s3:ExistingObjectTag/* и позволяет прошедшим проверку подлинности пользователям обходить ограничения политики на основе тегов. Эта проблема исправлена в версии 1.0.0-rc.1.
Показать оригинальное описание (EN)
RustFS is a distributed object storage system built in Rust. From 1.0.0-alpha.64 until 1.0.0-rc.1, RustFS external OPA authorization enabled by RUSTFS_POLICY_PLUGIN_URL in crates/iam/src/sys.rs sets PreparedIamAuth.needs_existing_object_tag incorrectly for PreparedIamMode::Opa, causing maybe_merge_object_tag_conditions to omit s3:ExistingObjectTag/* values and allowing authenticated users to bypass tag-based policy restrictions. This issue is fixed in version 1.0.0-rc.1.
Характеристики атаки
Последствия
Строка CVSS v3.1