CVE-2026-85609
WysokieCVSS 7.5Streszczenie
OpenPanel przed wersją 2.3.0 zawiera nieuwierzytelnioną podatność na pełny odczyt SSRF w punkcie końcowym GET /tools/site-checker, który przekazuje parametr url dostarczony przez użytkownika do funkcji fetchWithRedirects() bez żadnej walidacji SSRF/IP. Zdalny atakujący może uzyskać dostęp do punktów końcowych metadanych instancji chmury, skanować wewnętrzne usługi i porty oraz odczytywać zwracaną treść, a także ujawniać wewnętrzne adresy IP.
Ocena ryzyka
Ryzyko obejmuje kradzież poświadczeń z metadanych chmury, enumerację wewnętrznej infrastruktury i potencjalny dostęp do wrażliwych danych, co może prowadzić do naruszenia bezpieczeństwa całej organizacji.
Rekomendacja
Zaleca się aktualizację OpenPanel do wersji 2.3.0 lub nowszej oraz wdrożenie ścisłej walidacji adresów URL i blokad dostępu do wewnętrznych adresów IP.
Inne podatności w OpenPanel
Zobacz wszystkie- CVE-2026-85615Średnie
OpenPanel przed wersją 2.3.0 zawiera podatność na niebezpieczne bezpośrednie odwołanie do obiektu (IDOR) w procedurach tRPC report.getLayouts i report.resetLayout, które nie wiążą dashboardId z autoryzowanym projectId. Uwierzytelnieni atakujący mogą podać dowolny dashboardId ofiary z własnym projectId, aby odczytać układy raportów i konfiguracje lub usunąć układy dashboardów między dzierżawcami.
- CVE-2026-85614Wysokie
OpenPanel przed wersją 2.3.0 zawiera podatność nieuwierzytelnionego ataku SSRF w punkcie końcowym GET /tools/site-checker. Parametr URL jest w pełni kontrolowany przez klienta i nie ma filtrowania adresów prywatnych ani ochrony przed DNS-rebinding.
- CVE-2026-85613Wysokie
OpenPanel przed wersją 2.3.0 zawiera podatność na cross-site scripting w nieuwierzytelnionym punkcie końcowym proxy favicon GET /misc/favicon, która umożliwia zdalnym atakującym wykonanie skryptów poprzez dostarczenie adresu URL pliku SVG. Atakujący mogą hostować złośliwe pliki SVG z osadzonymi skryptami, które wykonują się w przeglądarce ofiary na pochodzeniu API, umożliwiając uwierzytelnione żądania do chronionych punktów końcowych.
- CVE-2026-85612Wysokie
OpenPanel przed wersją 2.3.0 zawiera nieuwierzytelnioną podatność na podrabianie żądań po stronie serwera (SSRF) w punktach końcowych /misc/favicon i /misc/og, które akceptują parametr url dostarczony przez atakującego z niewystarczającą walidacją. Atakujący mogą zmusić API do pobierania dowolnych wewnętrznych hostów i punktów końcowych metadanych chmury, a małe odpowiedzi są zwracane w niezmienionej formie, umożliwiając kradzież poświadczeń i enumerację wewnętrznych usług.
- CVE-2026-85611Średnie
OpenPanel przed wersją 2.3.0 zawiera podatność na złamanie autoryzacji na poziomie obiektów między dzierżawcami w procedurach tRPC report.getLayouts i report.resetLayout, które nie ograniczają zapytań dashboardów do projektu wywołującego. Uwierzytelnieni atakujący mogą podać własny projectId z odgadnionym dashboardId ofiary, aby odczytać poufne definicje raportów lub trwale usunąć układy dashboardów między dzierżawcami.
- CVE-2026-85610Wysokie
OpenPanel przed wersją 2.3.0 nieprawidłowo waliduje wyrażenia formuł wykresów, co pozwala uwierzytelnionym członkom projektu z prawem odczytu na wykonanie dowolnego kodu poprzez odzyskanie natywnego konstruktora funkcji JavaScript przez obiekty macierzy mathjs. Atakujący mogą użyć odzyskanego konstruktora do załadowania wbudowanych modułów Node.js i wykonania poleceń systemu operacyjnego z uprawnieniami procesu API, omijając granice autoryzacji organizacji.
Oryginalny opis (angielski, źródło NVD)
Openpanel before 2.3.0 contains an unauthenticated full-read server-side request forgery (SSRF) vulnerability in the GET /tools/site-checker endpoint (apps/api/src/controllers/tools.controller.ts). The endpoint passes a user-supplied url query parameter to fetchWithRedirects() and performs server-side HTTP requests to arbitrary URLs without any SSRF/IP validation. An unauthenticated remote attacker can access cloud instance metadata endpoints, probe internal services, scan internal network ports, and read returned content (status code, page size, timing, and parsed HTML metadata), and leak internal IP addresses (via getIPInfo() to a third party).

