CVE-2026-85230
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
W MISP wykryto podatność polegającą na braku walidacji adresów URL przy zapisie konfiguracji widgetu ButtonWidget w panelu dashboardu. Uwierzytelniony użytkownik mogący modyfikować ustawienia widgetów mógł zapisać dowolny adres URL, w tym korzystający ze schematu javascript:. Walidacja była stosowana wyłącznie w momencie renderowania widgetu, a nie w momencie zapisu konfiguracji.
Ocena ryzyka
Złośliwy adres javascript: zapisany w przycisku dashboardu mógłby doprowadzić do wykonania skryptu po stronie klienta w kontekście sesji MISP ofiary, umożliwiając działania z jej uprawnieniami lub dostęp do informacji widocznych w tej sesji. Ryzyko jest ograniczone, ponieważ MISP nadal stosuje walidację przy renderowaniu, która neutralizowała znane złośliwe wartości.
Rekomendacja
Zaktualizuj MISP do wersji zawierającej poprawkę, która wprowadza kanoniczny typ schematu URL i waliduje konfigurację widgetów dashboardu przed zapisem. Po aktualizacji sprawdź istniejące konfiguracje przycisków i usuń wartości używające schematu javascript:, zewnętrznych domen lub nieprawidłowych formatów URL.
Inne podatności w MISP
Zobacz wszystkie- CVE-2026-95806Wysokie
MISP rejestruje w PHP wrapper strumienia phar zarówno w punkcie wejścia web, jak i konsoli. Powoduje to, że operacje na ścieżkach zależnych od użytkownika mogą wywołać niejawne unserialize() (sink deserializacji), a przeniesiony katalog główny aplikacji może prowadzić do wykonania kodu z przesłanego pliku phar jako użytkownik web.
- CVE-2026-95805Średnie
Literówka w konfiguracji kontroli dostępu ACLComponent w MISP spowodowała, że reguła ACL dla akcji previewEventAttributes odwołuje się do ciągu uprawnień 'theming_enabled*' (z gwiazdką na końcu) zamiast poprawnego 'theming_enabled'. Nieprawidłowy klucz nie pasuje do żadnego prawidłowego identyfikatora uprawnień, co powoduje nieprawidłowe działanie kontroli dostępu dla previewEventAttributes — może to skutkować obejściem autoryzacji lub odmową dostępu dla uprawnionych użytkowników.
- CVE-2026-95754Średnie
W metodzie login() kontrolera UsersController w MISP zapytanie do bazy dla weryfikacji TOTP nie obejmowało kolumny User.disabled, przez co flaga wyłączonego konta nie była sprawdzana w tej gałęzi. Choć późniejsza walidacja identify() nadal odrzuca wyłączone konta, konto z TOTP może przejść do etapu weryfikacji kodu.
- CVE-2026-95703Średnie
W MISP metoda __uploadLogo w OrganisationsController przetwarza podaną przez użytkownika ścieżkę tmp_name przed weryfikacją, czy to prawdziwy upload pliku. Uwierzytelniony administrator witryny może podać dowolną ścieżkę pliku, co pozwala na sprawdzenie istnienia plików i określenie typu obrazu na serwerze.
- CVE-2026-95701Średnie
W MISP metoda __statisticsOrgs używa nazwy organizacji bezpośrednio jako części ścieżki pliku przy sprawdzaniu istnienia logo. Choć docelowy katalog nie istnieje, wzorzec stanowi podatność na path traversal, która mogłaby pozwolić na sprawdzenie istnienia dowolnych plików, gdyby katalog istniał.
- CVE-2026-95698Średnie
Metoda findOrgImage w MISP buduje ścieżkę pliku z identyfikatora organizacji bez walidacji, co pozwala na path traversal. Uwierzytelniony użytkownik z możliwością tworzenia lub importowania zdarzeń może ustawić nazwę organizacji zawierającą sekwencje traversal, umożliwiając sprawdzenie istnienia dowolnych plików oraz odczyt plików z rozszerzeniami .png lub .svg.
- CVE-2026-95697Średnie
MISP zawiera wadę autoryzacji w metodzie captureOrg modelu Organisation. Gdy parametr $force jest ustawiony na true, metoda bezwarunkowo nadpisuje pola metadanych organizacji bez weryfikacji uprawnień wywołującego użytkownika. Użytkownik z rolą edytora grupy udostępniania (SG) może wywołać tę ścieżkę kodu, co pozwala mu modyfikować metadane organizacji, które powinny być ograniczone do administratorów witryny lub użytkowników z uprawnieniami synchronizacji.
- CVE-2026-95693Średnie
W MISP metoda EventReport::uploadPicture przetwarza dostarczone przez wywołującego pole tmp_name, wywołując na nim file_exists(), mime_content_type() i exif_imagetype() przed weryfikacją, czy wartość jest prawdziwym uploadem PHP przez is_uploaded_file(). Uwierzytelniony użytkownik z uprawnieniem perm_add może podać dowolną ścieżkę systemu plików jako tmp_name, a aplikacja bada tę ścieżkę i zwraca różne komunikaty błędów w zależności od istnienia pliku, typu MIME lub formatu obrazu. Obserwując różne odpowiedzi, atakujący może enumerować istnienie plików na serwerze MISP i określić ich typ.
- CVE-2026-95685Średnie
MISP zawiera wadę kontroli dostępu w funkcjonalności EventReports. Akcja replaceSuggestionInReport, która umożliwia modyfikację treści sugestii w raporcie zdarzenia, została błędnie przypisana do dzikiej karty ('*') w ACLComponent, co czyni ją dostępną dla każdego uwierzytelnionego użytkownika niezależnie od przypisanych uprawnień. Wszystkie analogiczne akcje modyfikacji raportów wymagały uprawnienia perm_add, podczas gdy akcje tylko do odczytu, takie jak downloadAsPDF, używały dzikiej karty.
- CVE-2026-95683Średnie
W MISP widok zdarzenia Overmind wzbogaca zdarzenie o jego najnowszy dołączony raport w celach podglądu. Logika wzbogacania pobierała raport używając tylko ID zdarzenia jako warunku wyszukiwania, bez uwzględniania własnych ograniczeń dystrybucji/ACL raportu. Ponieważ raporty MISP mają niezależne ustawienie dystrybucji, które może być bardziej restrykcyjne niż dystrybucja zdarzenia nadrzędnego, uwierzytelniony użytkownik z dostępem do odczytu zdarzenia mógł pobrać i wyświetlić raport, którego dystrybucja wykluczała tego użytkownika. Dodatkowo zapytanie nie filtrowało miękkich usunięć, umożliwiając pobranie raportów administracyjnie usuniętych.
Oryginalny opis (angielski, źródło NVD)
A persistent unsafe URL injection vulnerability exists in the MISP dashboard ButtonWidget configuration. Dashboard widget URLs were validated only when the widget was rendered and were not validated when the configuration was saved. As a result, an authenticated user able to modify dashboard widget settings could persist arbitrary URL values, including URLs using the javascript: scheme, through either of the dashboard settings persistence paths. A malicious javascript: URL stored in a dashboard button could potentially result in client-side script execution in the MISP security context if the value reached a rendering or navigation path without the existing runtime validation. Such execution could allow an attacker to perform actions with the privileges of the affected user or access information available to their MISP session. The practical exploitability of this issue is reduced by the fact that MISP already applied URL validation at render time, which neutralized known malicious values before they were presented to the user. The vulnerability therefore represents a persistence-layer validation gap and a defense-in-depth weakness rather than evidence of a direct bypass of the existing rendering protection. The patch introduces a canonical url schema type and validates dashboard widget configuration before it is persisted through either settings save mechanism. ButtonWidget URLs must now be strings resolving to an absolute path on the current MISP instance or a full URL with the same origin. Values using javascript:, external origins, malformed URL forms, and non-string values are rejected at save time.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

