CVE-2026-107806
KrytyczneCVSS 9.4Streszczenie
Nginx UI to interfejs webowy dla serwera Nginx. Od wersji 2.3.8 do 2.5.0 uwierzytelniony administrator z aktywną sesją może przesłać kontrolowany przez atakującego materiał klucza kopii zapasowej i pasujący manifest do POST /api/restore. Proces przywracania ufa dostarczonemu kluczowi, odszyfrowuje kontrolowaną treść i zastępuje plik app.ini, w tym chronione ustawienia poleceń nginx, takie jak TestConfigCmd. Wywołanie POST /api/nginx/test wykonuje przywrócone polecenie w kontekście środowiska Nginx UI.
Ocena ryzyka
Atakujący może wykonać dowolne polecenia w kontekście Nginx UI, wpływając na poufność, integralność i dostępność systemu.
Rekomendacja
Zaktualizuj Nginx UI do wersji 2.5.0 lub nowszej. Ogranicz dostęp do interfejsu administracyjnego i monitoruj nietypowe operacje przywracania.
Inne podatności w Nginx UI
Zobacz wszystkie- CVE-2026-107813Wysokie
W Nginx UI od wersji 2.0.0 do 2.5.0 router api/cluster udostępnia operacje modyfikacji węzłów i przestrzeni nazw oraz globalne przeładowanie/restart Nginx z wymogiem AuthRequired, ale bez RequireSecureSession. Uwierzytelniony użytkownik z włączonym OTP, posiadający skradziony lub trwały token JWT, może wykonywać operacje CRUD na węzłach, odczytywać lub podmieniać poświadczenia węzłów, zmieniać przestrzenie nazw oraz wywoływać przeładowanie/restart Nginx bez ponownego uwierzytelnienia drugim składnikiem.
- CVE-2026-107812Wysokie
W Nginx UI od wersji 2.0.0 do 2.5.0 mechanizm samodzielnej aktualizacji weryfikuje pobrany plik binarny wyłącznie za pomocą skrótu pochodzącego z tego samego serwera aktualizacji. Skompromitowane lustro lub atakujący w sieci mogą dostarczyć złośliwy plik wykonywalny wraz z pasującym skrótem, a aplikacja zainstaluje i uruchomi ten kod w kontekście procesu Nginx UI przy następnej aktualizacji.
- CVE-2026-107811Wysokie
W Nginx UI od wersji 2.0.0 do 2.5.0 zwykli uwierzytelnieni użytkownicy mogą uzyskać dostęp do /api/nodes i /api/nodes/:id, których odpowiedzi zawierają pole tokenu węzła. Ten sam token jest akceptowany jako X-Node-Secret przez AuthRequired i mapuje żądanie na initUser, co pozwala użytkownikowi podszyć się pod zaufany węzeł wobec osiągalnego członka klastra.
- CVE-2026-107810Wysokie
W Nginx UI od wersji 2.0.0 do 2.5.0 plik internal/backup/restore.go rozpakowuje wewnętrzne archiwa przed zastosowaniem flag restore_nginx i restore_nginx_ui oraz zezwala na dowiązania symboliczne wskazujące na aktywną ścieżkę konfiguracji Nginx. Uwierzytelniony użytkownik mogący tworzyć i przywracać kopie zapasowe może przygotować kopię, która umieszcza dowiązanie symboliczne w drzewie tymczasowym, a następnie zapisuje przez nie zwykły plik, nawet gdy obie flagi przywracania są wyłączone.
- CVE-2026-107809Wysokie
W Nginx UI od wersji 2.0.0 do 2.5.0 mechanizm AuthRequired akceptuje token cookie zarządzany przez przeglądarkę jako poświadczenie API, po tym jak front end zapisze JWT w tym cookie. Ponieważ punkty końcowe zarządzania nie wymagają powszechnie tokenu CSRF ani nie wykonują walidacji Origin lub Referer, zdalny atakujący może nakłonić przeglądarkę zalogowanego administratora do wysłania uwierzytelnionych żądań zmieniających stan z innej witryny, w tym POST /api/configs.
- CVE-2026-107808Wysokie
W Nginx UI od wersji 2.0.0 do 2.5.0 punkt końcowy POST /api/login sprawdza EnabledOTP, ale nie wymaga asercji WebAuthn, gdy EnabledPasskey jest prawdziwe i nie skonfigurowano sekretu TOTP. Konto korzystające wyłącznie z passkey otrzymuje sesję po weryfikacji hasła, mimo że Enabled2FA wskazuje na posiadanie drugiego czynnika.
- CVE-2026-107807Wysokie
W Nginx UI od wersji 2.0.0 do 2.5.0 aplikacja akceptuje główne poświadczenie Node.Secret poprzez parametr zapytania node_secret w ścieżkach uwierzytelniania HTTP i WebSocket, zamiast wymagać nagłówka X-Node-Secret. Poświadczenie może pojawić się w logach dostępu, logach proxy, historii przeglądarki, nagłówkach Referer, adresach URL konfiguracji i danych środowiskowych wdrożenia.
- CVE-2026-107805Wysokie
Nginx UI w wersjach od 2.5.0 do 2.6.0 wykonuje tymczasowe zapisywanie treści żądania kontrolowanej przez atakującego i synchronizuje ją na dysk przed weryfikacją skrótu i podpisu kryptograficznego. Nieuwierzytelniony zdalny klient może wyczerpać miejsce na dysku, operacje wejścia/wyjścia oraz zasoby przetwarzania żądań, zanim żądanie zostanie odrzucone. Problem został naprawiony w wersji 2.6.0.
- CVE-2026-107804Średnie
Nginx UI to internetowy interfejs użytkownika dla serwera Nginx. Od wersji 2.2.0 do 2.6.0, wbudowany odwrotny proxy nie zachowuje tożsamości zewnętrznego klienta używanej przez Gin, ponieważ backend nie ma konfiguracji zaufanego proxy. Żądania zarządzania mogą być przypisywane do loopback i przechodzić wyjątek listy dozwolonych IP dla loopback, chociaż nadal wymagane są prawidłowe poświadczenia. Nieudane logowania z różnych zewnętrznych klientów są również przypisywane do tego samego adresu loopback, co pozwala nieuwierzytelnionemu atakującemu na wywołanie wspólnego tymczasowego banu logowania dla uwierzytelniania hasłem lub OTP bez unieważniania istniejących sesji. Problem został naprawiony w wersji 2.6.0.
- CVE-2026-44015Wysokie
Nginx UI to interfejs webowy dla serwera Nginx. W wersjach 2.3.4 i wcześniejszych, uwierzytelniony użytkownik może przeprowadzić atak typu Server-Side Request Forgery (SSRF) poprzez utworzenie węzła klastra wskazującego na dowolny wewnętrzny adres URL.
Oryginalny opis (angielski, źródło NVD)
Nginx UI is a web user interface for the Nginx web server. From 2.3.8 until 2.5.0, an authenticated administrator with an active secure session can submit attacker-controlled portable backup key material and a matching manifest to POST /api/restore. The restore flow trusts the supplied key, decrypts attacker-controlled contents, and replaces the live app.ini, including protected nginx command settings such as TestConfigCmd. Triggering POST /api/nginx/test then executes the restored command in the Nginx UI runtime context, affecting confidentiality, integrity, and availability. This issue is fixed in version 2.5.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

