CVE-2026-100413
WysokieCVSS 7.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
SeaweedFS to rozproszony system przechowywania plików i blobów. Od wersji 4.0.388 do 4.41 wykres SFTP Helm osadzał niezaszyfrowany prywatny klucz hosta Ed25519 w pliku k8s/charts/seaweedfs/templates/sftp/sftp-secret.yaml jako stringData.seaweedfs_sftp_ssh_private_key. Wdrożenie standalone prezentowało ten klucz publiczny, gdy sftp.enabled i sftp.enableAuth były prawdziwe, nie dostarczono sftp.existingConfigSecret, wybrano ścieżkę sftp.sshPrivateKey, ważny Secret config-ssh pozwalał na start, a hostKeysFolder nie zapewniał późniejszego podpisywania Ed25519. Atakujący mogący przekierować lub przechwycić ruch klienta mógł podszyć się pod ten punkt końcowy SFTP dla klientów ufających opublikowanej tożsamości hosta, ujawniając poświadczenia hasła lub dane wysyłane do fałszywego punktu końcowego. Domyślne ścieżki all-in-one i nieuwierzytelnione standalone nie ładowały klucza. Problem naprawiono w wersji 4.41.
Ocena ryzyka
Atakujący w sieci może podszyć się pod serwer SFTP i przechwycić poświadczenia lub dane klientów, co prowadzi do naruszenia poufności i możliwego dalszego dostępu do systemu.
Rekomendacja
Zaktualizować SeaweedFS do wersji 4.41 lub nowszej oraz wygenerować nowe, unikalne klucze hosta SFTP i unieważnić opublikowany klucz.
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-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.
Oryginalny opis (angielski, źródło NVD)
SeaweedFS is a distributed storage system for files and blobs. From 4.0.388 until 4.41, the SFTP Helm chart embedded one unencrypted Ed25519 private host key in k8s/charts/seaweedfs/templates/sftp/sftp-secret.yaml as stringData.seaweedfs_sftp_ssh_private_key. A standalone deployment presented that public key when sftp.enabled and sftp.enableAuth were true, sftp.existingConfigSecret was not supplied, the legacy sftp.sshPrivateKey path remained selected, a valid config-ssh Secret allowed startup, and hostKeysFolder did not provide a later Ed25519 signer. An attacker able to redirect or intercept client traffic could impersonate that SFTP endpoint to clients that trusted the published host identity, exposing password credentials or data sent to the rogue endpoint. Default all-in-one and non-authenticated standalone paths did not load the key. This issue is fixed in version 4.41.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

