CVE-2026-88891
WysokieCVSS 8.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
OpenPanel nie egzekwuje poziomu dostępu tylko do odczytu w 26 z 29 procedur modyfikujących, co pozwala użytkownikom z uprawnieniami odczytu na modyfikowanie, usuwanie i publikowanie danych projektu. Atakujący z jawnym dostępem tylko do odczytu mogą usuwać raporty i pulpity nawigacyjne, planować usunięcie całych projektów, publikować prywatne analizy w publicznych linkach oraz modyfikować reguły alertów poprzez wykorzystanie braku walidacji poziomu dostępu w resolverach mutacji.
Ocena ryzyka
Organizacje korzystające z OpenPanel są narażone na nieautoryzowaną modyfikację lub utratę danych analitycznych oraz wyciek prywatnych informacji przez użytkowników, którzy powinni mieć jedynie dostęp do odczytu.
Rekomendacja
Należy niezwłocznie zaktualizować OpenPanel do wersji zawierającej poprawkę walidacji poziomu dostępu w resolverach mutacji lub wdrożyć dodatkowe kontrole uprawnień na poziomie API.
Inne podatności w OpenPanel
Zobacz wszystkie- CVE-2026-88893Wysokie
Procedury wyszukiwania udziałów w OpenPanel nie weryfikują kontroli dostępu i zwracają hashe haseł oraz chronione definicje raportów nieuwierzytelnionym wywołującym. Atakujący posiadający link do udziału może pobrać hashe haseł argon2id oraz pełne konfiguracje raportów, w tym nazwy zdarzeń, filtry i wymiary podziału, co umożliwia offline łamanie haseł i kradzież danych biznesowych.
- CVE-2026-88892Średnie
OpenPanel w importerze danych pobiera adres URL podany przez użytkownika za pomocą zwykłego fetch() zamiast istniejącego mechanizmu ochrony przed SSRF (safe-fetch.ts). Walidacja ogranicza się do z.string().url(), więc akceptowane są adresy takie jak http://127.0.0.1:9911/ czy http://169.254.169.254/latest/meta-data/. Uwierzytelniony członek organizacji, w tym domyślny użytkownik 'member' bez uprawnień do projektu, może zmusić serwer do połączenia się z dowolnym osiągalnym adresem, a wynik (status HTTP i tekst statusu) jest zapisywany i zwracany temu samemu użytkownikowi.
- CVE-2026-93983Średnie
OpenPanel do commita bad75bdd nie escapuje kluczy właściwości w zapytaniach ClickHouse SQL, co pozwala uwierzytelnionym użytkownikom na wstrzyknięcie warunków logicznych SQL. Atakujący mogą podać spreparowane nazwy filtrów, aby obejść izolację projektów i uzyskać dostęp do metryk z innych projektów.
- CVE-2026-93982Niskie
OpenPanel do commita bad75bdd zapisuje tokeny uwierzytelniające Model Context Protocol z parametrów zapytania URL do zwykłych logów aplikacji bez redakcji. Atakujący mający dostęp do standardowego wyjścia aplikacji lub scentralizowanych systemów logowania może przechwycić dane uwierzytelniające zakodowane w base64, aby odtworzyć żądania MCP i uzyskać dostęp do analityki projektu.
- CVE-2026-88890Wysokie
OpenPanel do commita cd24bb8 zawiera podatność SQL injection w kreatorze filtrów analitycznych, który nie waliduje identyfikatorów kolumn filtrów profile.* przed interpolacją do klauzul WHERE ClickHouse. Uwierzytelniony atakujący z uprawnieniami odczytu w zakresie projektu lub eksportu root może wstrzyknąć dowolny SQL ClickHouse, aby obejść izolację projektów i odczytać dane analityczne innych organizacji oraz dane osobowe (PII) za pomocą technik blind boolean oracle.
- 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.
Oryginalny opis (angielski, źródło NVD)
OpenPanel fails to enforce read-only project access level on 26 of 29 mutating procedures, allowing read-level members to modify, delete, and publish project data. Attackers with explicit read-only access can delete reports and dashboards, schedule entire projects for deletion, publish private analytics to public share links, and modify alerting rules by exploiting missing access level validation in mutation resolvers.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

