CVE-2026-22042
WysokieStreszczenie
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.
Ocena ryzyka
Ryzyko eskalacji uprawnień i nieautoryzowanej modyfikacji konfiguracji IAM, co może prowadzić do przejęcia kontroli nad systemem.
Rekomendacja
Zaktualizuj RustFS do wersji 1.0.0-alpha.79 lub nowszej, aby naprawić podatność.
Inne podatności w RustFS
Zobacz wszystkie- 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-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.
- 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-2025-68926Krytyczne
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ę.
- 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.
Oryginalny opis (angielski, źródło NVD)
RustFS is a distributed object storage system built in Rust. Prior to version 1.0.0-alpha.79, he `ImportIam` admin API validates permissions using `ExportIAMAction` instead of `ImportIAMAction`, allowing a principal with export-only IAM permissions to perform import operations. Since importing IAM data performs privileged write actions (creating/updating users, groups, policies, and service accounts), this can lead to unauthorized IAM modification and privilege escalation. Version 1.0.0-alpha.79 fixes the issue.

