RustFS — это распределенная система хранения объектов, построенная на Rust. До версии 1.0.0-beta.12 анонимный запрос ListObjectVersions в Rustfs/src/storage/access.rs, у которого отсутствует прямой грант политики сегмента, возвращается к проверке s3:ListBucket и возвращается до того, как путь policy_allowed применяет Deny_anonymous_table_data_plane_if_needed и RestrictPublicBuckets, поэтому сегмент, который разрешает анонимный листинг, может продолжать предоставлять списки версий после оператор включает контроль общего доступа. Обход влияет на GET /<bucket>?versions= и может раскрывать метаданные версии объекта, даже если эквивалентные запросы GetObject отклоняются.
Эта проблема исправлена в версии 1.0.0-beta.12.
Показать оригинальное описание (EN)
RustFS is a distributed object storage system built in Rust. Prior to 1.0.0-beta.12, an anonymous ListObjectVersions request in rustfs/src/storage/access.rs that lacks a direct bucket-policy grant falls back to an s3:ListBucket check and returns before the policy_allowed path applies deny_anonymous_table_data_plane_if_needed and RestrictPublicBuckets, so a bucket that permits anonymous listing can continue exposing version listings after an operator enables the public-access control. The bypass affects GET /<bucket>?versions= and can disclose object version metadata even though equivalent GetObject requests are denied. This issue is fixed in version 1.0.0-beta.12.
Характеристики атаки
Последствия
Строка CVSS v3.1