CVE-2026-77317
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko nieautoryzowanego dostępu do danych innych tenantów, co może prowadzić do naruszenia poufności i integralności danych w systemie rozproszonym.
Rekomendacja
Zaktualizuj SeaweedFS do wersji 4.40 lub nowszej, która zawiera poprawkę.
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-77368Wysokie
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.
- 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 versions from 3.88 through 4.39, the SFTP server evaluates configured path permissions with a literal string-prefix comparison, so a user scoped to a path is also granted the same access to any sibling path whose name merely begins with the same characters. A user granted access to /tenants/alice therefore also matches /tenants/alice-archive, /tenants/alice2, and similar siblings, because the check does not require a path-component boundary. An authenticated low-privilege SFTP user with a root home directory and narrow path permissions can thereby cross the configured ACL boundary to read another tenant's files, and to overwrite them if granted write, all through the documented SFTP service with its own valid credentials. This issue is fixed in version 4.40.

