CVE-2026-111386
ŚrednieCVSS 4.3Streszczenie
Nezha od wersji 1.7.0 przed 2.3.15 zawiera podatność ujawnienia informacji, która pozwala uwierzytelnionym członkom wyliczać identyfikatory serwerów innych dzierżawców poprzez zróżnicowane odpowiedzi. Atakujący może skanować kolejne identyfikatory w getServerConfig i setServerConfig, odróżniając odmowę dostępu od odpowiedzi sukcesu.
Ocena ryzyka
Możliwe zmapowanie infrastruktury innych użytkowników, co ułatwia dalsze ataki i narusza izolację dzierżawców. Ujawnione mogą być informacje o serwerach należących do innych organizacji.
Rekomendacja
Zaktualizować Nezha do wersji 2.3.15 lub nowszej. Rozważyć ujednolicenie odpowiedzi błędów, aby nie ujawniały istnienia zasobów.
Inne podatności w Nezha
Zobacz wszystkie- CVE-2026-111387Średnie
Nezha od wersji 2.2.5 przed 2.3.15 zawiera podatność ujawnienia informacji, która pozwala uwierzytelnionym użytkownikom odczytać poświadczenia stron trzecich, ponieważ funkcja listDDNS nie usuwa pól WebhookURL i WebhookRequestBody. Administratorzy lub tokeny PAT z zakresem nezha:ddns:read mogą wywołać GET /api/v1/ddns i odczytać tokeny w postaci jawnej.
- CVE-2026-111385Średnie
Nezha od wersji 2.1.0 przed 2.3.15 zawiera podatność host header injection w mintTransferTool, która buduje adresy fs.download_url i fs.upload_url na podstawie niezwalidowanego nagłówka Host. Atakujący kontrolujący nagłówek Host w żądaniu ofiary może przekierować przesyłane pliki lub przechwycić jednorazowe tokeny pobierania.
- CVE-2026-111384Średnie
Nezha od wersji 1.0.0 przed 2.3.15 zawiera podatność wyczerpania pamięci w punkcie końcowym WebSocket menedżera plików, ponieważ fmStream nigdy nie wywołuje SetReadLimit, pozostawiając rozmiar wiadomości nieograniczony. Uwierzytelniony użytkownik z uprawnieniami menedżera plików może wysłać jedną zbyt dużą wiadomość binarną na /api/v1/ws/file/:id, wywołując zabicie procesu przez OOM.
- CVE-2026-111383Średnie
Nezha od wersji 2.0.13 przed 2.3.15 zawiera podatność wyczerpania zasobów, która pozwala uwierzytelnionym użytkownikom otwierać nieograniczoną liczbę równoczesnych połączeń do punktu końcowego WebSocket /api/v1/ws/transfer. Atakujący może utrzymywać tysiące subskrypcji tworzonych przez ServerTransferClass.Subscribe, wyczerpując deskryptory plików, pamięć i goroutines.
- CVE-2026-101090Krytyczne
Nezha 2.2.3 zawiera regresję wstrzykiwania nagłówka Host w punkcie końcowym przekierowania OAuth2. Gdy opcjonalne ustawienie dashboard_host jest puste, /api/v1/oauth2/{provider} odzwierciedla nagłówek Host dostarczony przez atakującego do redirect_uri wysyłanego do dostawcy tożsamości. Atakujący może przejąć kod autoryzacyjny ofiary i przejąć konto.
- CVE-2026-105112Średnie
Nezha od wersji 1.8.0 do 2.3.13 zawiera odwrócenie kolejności blokad w UpdateGroup i DeleteGroup, które pozwala uwierzytelnionym użytkownikom niebędącym administratorami zablokować podsystem alertów. Atakujący mogą równocześnie wywoływać punkty końcowe grup powiadomień i masowego usuwania z nadmiernie dużymi listami identyfikatorów, aby poszerzyć wyścig i zamknąć cykl ABBA, trwale zabijając dostarczanie alertów do restartu.
- CVE-2026-101089Niskie
Nezha przed wersją 2.2.7 zawiera podatność na ujawnienie informacji w punkcie końcowym GET /api/v1/profile, który zwraca pole hasła zahashowanego bcrypt uwierzytelnionych użytkowników. Atakujący mogą wyodrębnić hashe haseł i przeprowadzić ataki offline bez ograniczeń szybkości ani śladów audytu.
- CVE-2026-101088Średnie
Nezha to narzędzie do monitorowania serwerów i stron internetowych. W wersjach >= 2.2.11 i < 2.3.1, worker sentinel usługi (service/singleton/servicesentinel.go) zawiera niekompletną poprawkę wcześniej zgłoszonej podatności na wyłuskanie nil (denial of service) (GHSA-qjpp-gffx-2wm9). Poprawka z 2026-07-21 ponownie walidowała cykl życia usługi pod serviceResponseDataStoreLock, ale używała już przechwyconego, nieaktualnego wskaźnika reportera i nigdy nie ponownie walidowała serwera, a ten lock nie chroni ServerShared. Uwierzytelniony użytkownik z rolą członka, który posiada agenta, może wydać równoczesne usunięcie serwera (POST /api/v1/batch-delete/server) dla własnego serwera, aby wygrać wyścig, powodując wyłuskanie brakującego wpisu w migawce listy serwerów przez worker. Ponieważ workery sentinel i serwer gRPC nie mają interceptora recover()/recovery, wynikający panic jest nieodzyskany i powoduje awarię całej instancji. Poprawione w wersji 2.3.1.
- CVE-2026-101087Średnie
Nezha w wersjach 2.0.10 do 2.3.2 używa ograniczonego klienta HTTP do walidacji konfigurowalnych przez użytkownika adresów URL webhooków powiadomień i DDNS, ale lista zablokowanych nie obejmowała zakresów przejściowych IPv6 — konkretnie prefiksu 6to4 2002::/16 oraz prefiksu translacji lokalnej IPv4/IPv6 64:ff9b:1::/48. Ponieważ takie adresy spełniają sprawdzenie netip.Addr.IsGlobalUnicast w Go, walidator URL je akceptował. Uwierzytelniony użytkownik mogący skonfigurować webhook może spowodować, że dashboard wyśle żądania do w inny sposób ograniczonego punktu końcowego IPv6, ale tylko tam, gdzie sieć dashboardu zapewnia nietypowe lub niezgodne ze standardami routowanie dla tych zakresów przejściowych; nie wykazano bezpośredniej ścieżki do żądania HTTP do metadanych IPv4, pętli zwrotnej lub sieci prywatnej. Problem jest naprawiony w wersji 2.3.3 (commit d1fcde8e), która blokuje oba prefiksy.
- CVE-2026-101085Średnie
Nezha przed 2.3.8 nie waliduje typu reguły alertu ani zakresu czasu trwania, co pozwala uwierzytelnionym użytkownikom niebędącym administratorami tworzyć błędne reguły wywołujące nieodwracalne paniki w goroutine ewaluatora alertów. Atakujący może przesłać spreparowaną regułę przez POST /api/v1/alert-rule, powodując awarię procesu dashboardu.
Oryginalny opis (angielski, źródło NVD)
Nezha from 1.7.0 before 2.3.15 contains an information disclosure vulnerability that allows authenticated members to enumerate other tenants' server IDs through differential responses. Attackers can sweep sequential IDs against getServerConfig and setServerConfig, distinguishing 'permission denied' from success payloads to map other users' servers.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

