CVE-2026-77633
WysokieCVSS 7.1Streszczenie
Cloudreve to samodzielnie hostowany system zarządzania i udostępniania plików. Przed wersją 4.18.0 funkcja PrepareUpload sprawdza nieaktualną wartość pojemności użytkownika w pamięci, a następnie stosuje bezwarunkowe obciążenie pojemności poza tą samą transakcją egzekwującą limit. Uwierzytelniony użytkownik z uprawnieniem Files.Write może wysyłać równoczesne żądania sesji przesyłania, które odczytują ten sam stan pojemności, przechodzą kontrolę MaxStorage i rezerwują zadeklarowane rozmiary, przekraczając limit konta.
Ocena ryzyka
Atakujący może wyczerpać pamięć masową hosta, powodując odmowę przesyłania plików dla innych użytkowników. Może to prowadzić do niedostępności usługi i naruszenia integralności systemu.
Rekomendacja
Zaktualizować Cloudreve do wersji 4.18.0 lub nowszej. Do czasu aktualizacji monitorować nietypowe wzorce przesyłania i rozważyć ograniczenie uprawnień Files.Write.
Inne podatności w Cloudreve
Zobacz wszystkie- CVE-2026-79913Średnie
W Cloudreve przed wersją 4.18.0 zabezpieczenie przed server-side request forgery (SSRF) ValidateExternalURL w pkg/request/ssrf.go przekazuje rozwiązane adresy do checkIP bez dekodowania form przejściowych IPv4-w-IPv6 NAT64, IPv4-compatible i 6to4. Uwierzytelniony użytkownik z dostępem do zdalnego pobierania może podać SrcUri poprzez RemoteDownloadTask.createDownloadTask, aby wrapper osadzający adres IPv4 loopback, prywatny, link-local lub cloud metadata został sklasyfikowany jako publiczny i pobrany, ujawniając odpowiedzi wewnętrznych usług i poświadczenia instancji chmury. Adresy IPv4-mapped IPv6 pozostają zablokowane, ponieważ Go konwertuje tę formę za pomocą net.IP.To4.
- CVE-2026-77637Niskie
Cloudreve przed wersją 4.18.0 ma brak middleware RequiredScopes(types.ScopeAdminWrite) na trasach narzędzi administracyjnych tool.GET("wopi") i tool.POST("mail"), które dziedziczą ScopeAdminRead. Aplikacja OAuth lub klucz API z uprawnieniami Admin.Read może sondować skonfigurowane usługi WOPI i wysyłać dowolne testowe e-maile przez konfigurację SMTP, przekraczając granice uprawnień tylko do odczytu.
- 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.
Oryginalny opis (angielski, źródło NVD)
Cloudreve is a self-hosted file management and sharing system. Prior to 4.18.0, PrepareUpload in pkg/filemanager/fs/dbfs/upload.go checks a stale in-memory user storage value through validateUserCapacity and later applies an unconditional storage charge outside the same quota-enforcing transaction. An authenticated user with Files.Write permission can issue concurrent upload-session requests that read the same capacity snapshot, all pass the MaxStorage check, and reserve their declared sizes through CommitWithStorageDiff. The resulting reservations can exceed the account quota and can be materialized as chunked uploads that exhaust host storage and deny uploads to other users. The default local-storage policy and default User group are affected. This issue is fixed in version 4.18.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

