CVE-2025-68926
KrytyczneStreszczenie
RustFS to rozproszony system przechowywania obiektów napisany w Rust. W wersjach przed 1.0.0-alpha.78 RustFS implementuje uwierzytelnianie gRPC przy użyciu zakodowanego na stałe tokenu `"rustfs rpc"`, który jest publicznie dostępny w repozytorium kodu źródłowego, zakodowany po stronie klienta i serwera, niekonfigurowalny i uniwersalnie ważny we wszystkich wdrożeniach RustFS. Każdy atakujący z dostępem sieciowym do portu gRPC może uwierzytelnić się tym publicznie znanym tokenem i wykonywać uprzywilejowane operacje, w tym niszczenie danych, manipulację politykami i zmiany konfiguracji klastra. Wersja 1.0.0-alpha.78 zawiera poprawkę.
Ocena ryzyka
Ryzyko dla organizacji to możliwość pełnego przejęcia kontroli nad klastrem RustFS przez nieautoryzowanego atakującego, co może prowadzić do utraty danych, naruszenia integralności i zakłócenia działania usług.
Rekomendacja
Zaleca się natychmiastowe zaktualizowanie RustFS do wersji 1.0.0-alpha.78 lub nowszej oraz wdrożenie mechanizmów kontroli dostępu do portu gRPC.
Inne podatności w RustFS
Zobacz wszystkie- CVE-2026-22042Wysokie
RustFS przed wersją 1.0.0-alpha.79 ma podatność w API administracyjnym ImportIam, które błędnie waliduje uprawnienia przy użyciu ExportIAMAction zamiast ImportIAMAction. Pozwala to podmiotowi z uprawnieniami tylko do eksportu na wykonywanie operacji importu. Ponieważ import danych IAM wykonuje uprzywilejowane operacje zapisu (tworzenie/aktualizacja użytkowników, grup, polityk i kont usług), może to prowadzić do nieautoryzowanej modyfikacji IAM i eskalacji uprawnień. Wersja 1.0.0-alpha.79 naprawia problem.
- CVE-2026-45043Krytyczne
W systemie RustFS przed wersją 1.0.0-beta.2 wykryto podatność w punkcie końcowym PUT /rustfs/admin/v3/import-iam. Brak odpowiedniej walidacji pozwala użytkownikowi z uprawnieniem ImportIAMAction na tworzenie kont usługowych z dowolną tożsamością nadrzędną, włącznie z rootem (minioadmin). Atakujący może ustawić własne dane uwierzytelniające, co prowadzi do eskalacji uprawnień do pełnego dostępu administracyjnego.
- CVE-2026-22043Krytyczne
W RustFS (wersje 1.0.0-alpha.13 do 1.0.0-alpha.78) wadliwe skrócenie w mechanizmie `deny_only` w IAM pozwala ograniczonemu kontu usługowemu lub poświadczeniu STS na samodzielne wydanie nieograniczonego konta usługowego, dziedzicząc pełne uprawnienia rodzica. Umożliwia to eskalację uprawnień i obejście ograniczeń polityk sesji/wbudowanych. Wersja 1.0.0-alpha.79 naprawia problem.
- CVE-2025-68705Krytyczne
RustFS w wersjach od 1.0.0-alpha.13 do 1.0.0-alpha.78 zawiera podatność na path traversal w endpointcie /rustfs/rpc/read_file_stream. Podatność została naprawiona w wersji 1.0.0-alpha.79.
- CVE-2026-73290Średnie
W RustFS przed wersją 1.0.0-beta.12 anonimowe żądanie ListObjectVersions bez bezpośredniego zezwolenia polityki bucketu przechodzi do sprawdzenia s3:ListBucket i zwraca wynik przed zastosowaniem kontroli deny_anonymous_table_data_plane_if_needed oraz RestrictPublicBuckets. Umożliwia to ujawnianie wersji obiektów w bucketach z anonimowym listowaniem, nawet gdy operator włączył kontrolę dostępu publicznego.
- CVE-2026-73289Wysokie
RustFS przed wersją 1.0.0-beta.12 zawiera błędną ocenę kwalifikatorów ForAllValues: i ForAnyValue: z negowanymi operatorami string, co może prowadzić do przyznania dostępu wykluczonemu podmiotowi lub nieskuteczności reguł Deny.
- CVE-2026-73288Średnie
W RustFS przed wersją 1.0.0-rc.1 egzekwowanie Object Lock pozwala na usunięcie lub wygaśnięcie obiektów pod retencją COMPLIANCE, gdy metadane .metadata.bin są nieczytelne, nie można ich sparsować lub brakuje konfiguracji. Funkcje check_object_lock_for_deletion, delete_prefix oraz skanery traktują takie przypadki jako brak konfiguracji blokady.
- CVE-2026-73287Średnie
W RustFS przed wersją 1.0.0-beta.12 obsługa FTPS MKD w FtpsDriver::mkd wywołuje storage.create_bucket bez autoryzacji S3Action::CreateBucket. Uwierzytelnieni użytkownicy FTPS, którym odmówiono s3:CreateBucket, mogą tworzyć buckety.
- CVE-2026-73286Wysokie
RustFS przed wersją 1.0.0-beta.12 zawiera podatność polegającą na tym, że funkcja get_condition_values włącza kontrolowane przez atakującego nagłówki żądań do warunków tożsamości, takich jak userid, username, principaltype, groups, versionid, signatureversion, jwt: i ldap:. Umożliwia to uwierzytelnionym użytkownikom spełnienie warunków polityk opartych na tożsamości.
- CVE-2026-73285Wysokie
RustFS od wersji 1.0.0-alpha.64 do 1.0.0-rc.1, gdy zewnętrzna autoryzacja OPA jest włączona przez RUSTFS_POLICY_PLUGIN_URL, ustawia PreparedIamAuth.needs_existing_object_tag niepoprawnie dla PreparedIamMode::Opa, co powoduje pominięcie wartości s3:ExistingObjectTag/* w maybe_merge_object_tag_conditions. Umożliwia to uwierzytelnionym użytkownikom obejście ograniczeń polityk opartych na tagach.
Oryginalny opis (angielski, źródło NVD)
RustFS is a distributed object storage system built in Rust. In versions prior to 1.0.0-alpha.78, RustFS implements gRPC authentication using a hardcoded static token `"rustfs rpc"` that is publicly exposed in the source code repository, hardcoded on both client and server sides, non-configurable with no mechanism for token rotation, and universally valid across all RustFS deployments. Any attacker with network access to the gRPC port can authenticate using this publicly known token and execute privileged operations including data destruction, policy manipulation, and cluster configuration changes. Version 1.0.0-alpha.78 contains a fix for the issue.

