CVE-2026-77368
WysokieCVSS 7.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
SeaweedFS w wersji 4.39 ma podatność w obsłudze TUS resumable-upload, gdzie sprawdzanie zakresu allowed_prefixes JWT odbywa się tylko przy tworzeniu sesji. To pozwala niskouprzywilejowanemu dzierżawcy przejąć sesję przesyłania innego dzierżawcy i zapisać treść w ścieżkach, których jego token nie powinien zezwalać. Podatność dotyczy tylko wdrożeń z włączonym podpisywaniem JWT filera i włączonymi przesyłaniami TUS.
Ocena ryzyka
Atakujący może zapisywać pliki poza swoim zakresem uprawnień, co może prowadzić do naruszenia integralności danych lub nieautoryzowanego dostępu.
Rekomendacja
Zaktualizuj SeaweedFS do wersji 4.40 lub nowszej.
Inne podatności w SeaweedFS
Zobacz wszystkie- CVE-2026-55873Średnie
Podatność w SeaweedFS w wersjach 4.08–4.33 umożliwia uwierzytelnionemu użytkownikowi S3 z niskimi uprawnieniami wyliczenie nazw i ARN-ów kubełków tabel należących do administratora. Problem wynika z błędnego routowania żądań SigV4 do API zarządzania S3Tables, gdzie autoryzacja scala tożsamości S3 bez konta z kontem administratora.
- CVE-2026-73080Krytyczne
SeaweedFS przed wersją 4.24 zawiera podatność w RPC FetchAndWriteNeedle, która nie wymaga uwierzytelnienia ani walidacji celu. Atakujący może wysyłać żądania do dowolnych hostów, w tym do metadanych chmury (169.254.169.254), i odczytywać odpowiedzi.
- CVE-2026-72920Krytyczne
SeaweedFS przed wersją 4.24 rejestruje usługę gRPC SeaweedIdentityAccessManagement bez obowiązkowego uwierzytelnienia, gdy klucz jwt.filer_signing.key nie jest ustawiony. Pozwala to każdemu klientowi z dostępem do portu gRPC na tworzenie użytkowników i kluczy dostępu, co daje kontrolę administracyjną nad S3.
- CVE-2026-54917Krytyczne
SeaweedFS przed wersją 4.30 zawiera podatność polegającą na nieprawidłowym czyszczeniu ścieżek w routerach S3 i Iceberg REST catalog. Atakujący może użyć sekwencji '..' w żądaniu, aby ominąć kontrolę dostępu i odczytać lub zapisać dane w dowolnym zasobniku (bucket).
- CVE-2026-77611Wysokie
SeaweedFS w wersjach przed 4.40 ma podatność, w której uwierzytelniony podmiot S3 z uprawnieniami ograniczonymi do zagnieżdżonego klucza obiektu może nadpisać inny obiekt poza tym zakresem, wywołując PutObjectAcl na kluczu, do którego ma dostęp. Obsługa autoryzuje żądanie względem żądanego klucza, ale zapisuje zaktualizowany wpis do katalogu głównego zasobnika, co prowadzi do nadpisania obiektu docelowego.
- CVE-2026-77317Wysokie
SeaweedFS w wersjach od 3.88 do 4.39 ma podatność w serwerze SFTP, gdzie uprawnienia do ścieżek są sprawdzane przez porównanie prefiksu ciągu znaków, bez wymogu granicy komponentu ścieżki. Użytkownik z dostępem do /tenants/alice uzyskuje również dostęp do /tenants/alice-archive, /tenants/alice2 itp. Niskouprzywilejowany użytkownik SFTP może przekroczyć granice ACL i czytać lub nadpisywać pliki innych tenantów.
- CVE-2026-77298Wysokie
SeaweedFS w wersjach do 4.39 włącznie akceptuje zewnętrzny OIDC JWT w nagłówku Authorization i mapuje go na rolę IAM bez egzekwowania polityki zaufania roli. Użytkownik federacyjny może przyjąć rolę, do której nie ma uprawnień, uzyskując dostęp S3 do obiektów (odczyt, zapis, usuwanie) przez bezpośrednie przedstawienie tokena do API S3.
- CVE-2026-72921Wysokie
SeaweedFS przed wersją 4.24 używa strings.HasPrefix do sprawdzania autoryzacji, co pozwala tokenowi JWT ograniczonemu do /tenant1 na dostęp do ścieżek takich jak /tenant1234, /tenant1-old i /tenant1backup.
- CVE-2026-55874Wysokie
SeaweedFS przed wersją 4.34 nie odrzuca sekcji ścieżki '..' w nagłówku X-Amz-Copy-Source używanym przez operacje CopyObject i UploadPartCopy. Umożliwia to uwierzytelnionemu użytkownikowi z dostępem do jednego bucketa odczytywanie obiektów z innych bucketów poprzez kopiowanie po stronie serwera.
- CVE-2026-58372Wysokie
SeaweedFS przed wersją 4.34 zawiera podatność na przechodzenie po ścieżkach w handlerze DeleteMultipleObjectsHandler bramy S3. Uwierzytelniony podmiot S3 z prawem zapisu do jednego bucketa może usunąć dowolne obiekty w innych bucketach, podając klucze obiektów z sekwencją ../ w żądaniu XML DeleteObjects.
Oryginalny opis (angielski, źródło NVD)
SeaweedFS is a distributed storage system for files and blobs. In version 4.39, the filer's TUS resumable-upload handler checks JWT allowed_prefixes scoping only when a session is created, letting a low-privilege tenant hijack another tenant's upload session to write content to filer paths their own token forbids. The HEAD, PATCH, and DELETE verbs that act on an existing session by its id never verify that the session's stored target path falls within the caller's allowed prefixes, so a tenant who obtains another upload's session identifier can PATCH attacker bytes into it and, on completion, have the file land at the victim's out-of-scope path. The same token can also DELETE other tenants' sessions and HEAD them to read upload progress and size, defeating the JWT prefix isolation. This vulnerability only affects deployments that configure filer JWT signing and have TUS uploads enabled. This issue is fixed in version 4.40.

