CVE-2026-25726
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
Podatność w Cloudreve (system zarządzania plikami i udostępniania) przed wersją 4.13.0. Aplikacja używa słabego generatora liczb pseudolosowych (math/rand) z ziarnem opartym na czasie utworzenia konta administratora. Atakujący może odtworzyć secret_key i sfałszować tokeny JWT, co prowadzi do przejęcia konta administratora.
Ocena ryzyka
Ryzyko całkowitego przejęcia konta administratora i eskalacji uprawnień, co umożliwia dostęp do wszystkich plików i ustawień systemu.
Rekomendacja
Zaktualizuj Cloudreve do wersji 4.13.0 lub nowszej. Po aktualizacji zmień secret_key i hash_id_salt w bazie danych.
Inne podatności w Cloudreve
Zobacz wszystkie- CVE-2026-62323Średnie
W Cloudreve przed wersją 4.17.0, walidacja sesji WOPI używa tylko prefiksu session-id tokena dostępu i nie wymusza żądanej akcji, co pozwala złośliwemu przeglądającemu na sfałszowanie sufiksu tokena i wywołanie zapisu pliku.
- CVE-2026-55502Wysokie
Podatność w Cloudreve przed wersją 4.17.0, gdzie endpoint POST /api/v4/admin/policy/oauth/signin wymaga tylko uprawnienia Admin.Read, ale umożliwia modyfikację poświadczeń polityki przechowywania OneDrive bez uprawnienia Admin.Write, co pozwala na zmianę sekretu i app_id.
- CVE-2026-55499Średnie
W Cloudreve przed wersją 4.17.0, subskrypcja zdarzeń dla pojedynczego udostępnionego pliku rozpoznaje katalog nadrzędny właściciela i subskrybuje go, co pozwala uwierzytelnionemu odbiorcy na otrzymywanie informacji o nieudostępnionych plikach i folderach.
- CVE-2026-55497Średnie
Cloudreve przed wersją 4.17.0 zawiera podatność w dekoderach miniatur i awatarów, które ograniczają rozmiar skompresowanego pliku, ale nie ograniczają wymiarów pikseli po dekompresji. Uwierzytelniony użytkownik może przesłać mały plik PNG, JPEG lub GIF, który powoduje nieograniczoną alokację pamięci i zatrzymanie procesu Cloudreve z powodu krytycznego błędu braku pamięci.
- CVE-2026-55496Średnie
Cloudreve przed wersją 4.17.0 zawiera podatność w punkcie końcowym GET /api/v4/user/search, który wywołuje SearchActive bez dodawania predykatu StatusActive i serializuje wyniki na poziomie RedactLevelUser. Pozwala to każdemu zalogowanemu użytkownikowi na wyliczenie adresów e-mail i metadanych profili dla nieaktywnych lub zablokowanych kont.
- CVE-2026-55495Średnie
Cloudreve przed wersją 4.17.0 zawiera podatność w handlerze WOPI PUT_RELATIVE, który przekazuje X-WOPI-SuggestedTarget do URI.JoinRaw jako ścieżkę, a nie nazwę pliku. Umożliwia to użycie segmentów slash i dot-dot do opuszczenia katalogu pliku źródłowego i tworzenia lub warunkowego nadpisywania plików w innym miejscu na koncie tego samego właściciela.
- CVE-2026-54563Wysokie
W Cloudreve przed wersją 4.16.1, konto WebDAV z ograniczeniem do skonfigurowanego folderu może ominąć to ograniczenie poprzez wysłanie ścieżki zawierającej zakodowane znaki ".." (np. %2e%2e). Funkcja stripPrefix w pkg/webdav/webdav.go łączy zdekodowany sufiks żądania z ścieżką konta bez sprawdzania, czy wynik pozostaje w dozwolonym folderze, co pozwala na odczyt i listowanie plików poza nim, a w przypadku kont z uprawnieniami do zapisu także na tworzenie, nadpisywanie, przenoszenie lub usuwanie plików.
- CVE-2026-54562Średnie
Cloudreve przed wersją 4.16.1 umożliwia użytkownikom niebędącym administratorami, posiadającym uprawnienia do zdalnego pobierania, pobieranie plików z wewnętrznych adresów URL (np. localhost, loopback) poprzez endpoint POST /api/v4/workflow/download. Podatność wynika z braku blokowania adresów pętli zwrotnej, localhost, IPv6 localhost oraz przekierowań do tych adresów.
- CVE-2026-54560Wysokie
Cloudreve w wersjach od 4.12.0 do 4.16.1 wystawia tokeny OAuth bez roszczenia client_id, przez co weryfikator JWT nie ładuje zakresów tokena do kontekstu żądania. Funkcja RequiredScopes traktuje takie żądanie jak uwierzytelnienie sesyjne bez zakresów, umożliwiając tokenom o niskim zakresie dostęp do API wymagających wyższych uprawnień, w tym do plików, udostępniania, przepływów pracy, ustawień użytkownika, kont WebDAV i potencjalnie zakresów administracyjnych.
Oryginalny opis (angielski, źródło NVD)
Cloudreve is a self-hosted file management and sharing system. Prior to version 4.13.0, the application uses the weak pseudo-random number generator math/rand seeded with time.Now().UnixNano() to generate critical security secrets, including the secret_key, and hash_id_salt. These secrets are generated upon first startup and persisted in the database. An attacker can exploit this by obtaining the administrator's account creation time (via public API endpoints) to narrow the search window for the PRNG seed, and use known hashid to validate the seed. By brute-forcing the seed (demonstrated to take <3 hours on general consumer PC), an attacker can predict the secret_key. This allows them to forge valid JSON Web Tokens (JWTs) for any user, including administrators, leading to full account takeover and privilege escalation. This issue has been patched in version 4.13.0.

