CVE-2026-86440
ŚrednieCVSS 5.1Streszczenie
MISP w wersjach do 2.5.45 niewystarczająco waliduje adresy URL używane przez widgety pulpitu, szczególnie widget Button. Poprzednia logika uważała URL za bezpieczny, jeśli był względny lub hostname zgadzał się z hostem MISP, ale nie odrzucała niebezpiecznych schematów, takich jak javascript: lub adresów z backslashami, co prowadziło do przechowywanego XSS.
Ocena ryzyka
Ryzyko wykonania skryptów w przeglądarce innych użytkowników, co może prowadzić do kradzieży sesji, przejęcia konta lub innych ataków.
Rekomendacja
Zaleca się aktualizację MISP do wersji nowszej niż 2.5.45, która zawiera poprawkę.
Inne podatności w MISP
Zobacz wszystkie- CVE-2026-86452Wysokie
Podatność w MISP pozwala nieuwierzytelnionym lub słabo ograniczonym żądaniom na wykonywanie trwałych operacji bez odpowiednich limitów wejściowych i ograniczeń tempa. Endpoint resetowania hasła akceptuje kontrolowaną przez atakującego wartość email bez limitu długości i walidacji formatu, co prowadzi do wielokrotnego zapisu w logach i kolejkach zadań. Poprawka dodaje limity długości, walidację formatu, budżet żądań przed uwierzytelnieniem i odpowiedzi HTTP 429.
- CVE-2026-86451Średnie
MISP w wersjach do 2.5.45 pozwala uwierzytelnionym użytkownikom na pobieranie rekordów referencji obiektów po UUID przez EventGraphTool::get_reference_data() bez sprawdzania, czy użytkownik ma uprawnienia do widoku obiektu, do którego referencja należy. Brak kontroli ACL na poziomie obiektu nadrzędnego umożliwia dostęp do informacji poza zakresem uprawnień.
- CVE-2026-86441Niskie
W MISP w wersjach do 2.5.45 włącznie, kilka widgetów pulpitu nawigacyjnego wyświetlających informacje o organizacjach nie przestrzegało ustawienia Security.hide_organisation_index_from_users. Uwierzytelnieni użytkownicy bez uprawnienia perm_sharing_group mogli wyliczać organizacje, które normalnie były przed nimi ukryte, a także uzyskiwać dodatkowe pola z bazy danych przez eksport JSON. Dodatkowo, widget rankingu kontrybutorów ujawniał wszystkie organizacje z zdarzeniami, ignorując to samo ustawienie widoczności.
- CVE-2026-86419Wysokie
Dotknięte wersje MISP zawierają niewystarczającą walidację wychodzących połączeń HTTP po stronie serwera w funkcjach pobierania feedów i odkrywania TAXII. W przetwarzaniu feedów przekierowania były śledzone bez walidacji schematu lub celu, a oryginalne nagłówki żądań były ponownie używane, co mogło prowadzić do przekazania nagłówków autoryzacyjnych lub poświadczeń API do innego hosta. Przekierowania mogły również celować w wewnętrzne zasoby sieciowe, powodując SSRF. Poprawka dodaje walidację przekierowań, blokuje wewnętrzne cele dla przekierowań między hostami, usuwa poświadczenia feedu przed przekierowaniem do innego hosta i przypina zweryfikowane wyniki DNS. Endpoint TAXII discovery miał podobną niekompletną obronę przed SSRF, używając gethostbyname() i porównując wynik tylko z kilkoma dosłownymi adresami, co pomijało przypadki takie jak IPv6 loopback (::1), numeryczne kodowania hostów jak 0x7f000001 i wiele rekordów DNS. Poprawka przenosi TAXII discovery do wspólnego walidatora egress URL.
- CVE-2026-86418Niskie
W MISP w wersjach do 2.5.45 włącznie, selektor organizacji na pulpicie nawigacyjnym ujawniał metadane organizacji bez zastosowania tych samych ograniczeń widoczności, co normalny indeks organizacji i widok pojedynczej organizacji. Gdy włączono Security.hide_organisation_index_from_users, normalne wyliczanie organizacji było ograniczone, ale selektor nadal pobierał wszystkie organizacje, co pozwalało uwierzytelnionym użytkownikom odkrywać organizacje, które powinny pozostać ukryte.
- CVE-2026-86417Średnie
MISP w wersjach do 2.5.45 niespójnie egzekwował widoczność adresów e-mail w DashboardsController::listTemplates(). Zapytanie zawsze pobierało User.email, a redakcja następowała tylko w gałęzi nie-REST. W rezultacie uwierzytelniony użytkownik, który widział zredagowane dane w normalnym interfejsie HTML, mógł zażądać reprezentacji REST/JSON i otrzymać adresy e-mail właścicieli szablonów bez odpowiedniego sprawdzenia uprawnień.
- CVE-2026-86408Wysokie
Dotknięte wersje MISP nie egzekwują widoczności zdarzenia nadrzędnego podczas udostępniania kluczy kryptograficznych przez CryptographicKeysController::view(). Podatny handler zapytuje CryptographicKey bezpośrednio na podstawie podanego ID klucza i wybiera wrażliwe pola, takie jak type, key_data i fingerprint, ale nie pobiera ani nie autoryzuje powiązanego zdarzenia nadrzędnego. Poprawka dodaje parent_id i parent_type do wyszukiwania i egzekwuje autoryzację przez powiązane zdarzenie za pomocą fetchSimpleEvent($user, parent_id). Jeśli rodzic nie jest zdarzeniem, dostęp jest ograniczony do administratorów witryny.
- CVE-2026-86351Średnie
W MISP do wersji 2.5.45 walidacja konfigurowalnej strony głównej sprawdza tylko, czy ścieżka zaczyna się od '/', co jest niewystarczające. Adresy URL względne protokołu, takie jak '//attacker.example', również zaczynają się od '/', ale w przeglądarkach prowadzą do zewnętrznego pochodzenia. Podatna wartość strony głównej może być zapisana jako ustawienie użytkownika i użyta po zalogowaniu w logice przekierowań.
- CVE-2026-86347Wysokie
W systemie MISP w wersjach do 2.5.45 każdy uwierzytelniony użytkownik może uzyskać dostęp do funkcji TemplatesController::uploadFile(), ponieważ wpis ACL dla templates/uploadFile używał wildcarda *. Obejście to pozwala użytkownikom o niskich uprawnieniach lub tylko do odczytu na wielokrotne przesyłanie plików i zapełnianie dysku serwera. Poprawka zmienia wymaganie ACL z * na perm_add.
- CVE-2026-85239Wysokie
Podatność w MISP pozwala uwierzytelnionemu użytkownikowi z uprawnieniami do tworzenia lub modyfikowania szablonów zdarzeń na obejście walidacji pola definicji szablonu. Poprzez dostarczenie pre-encoded stringa zamiast struktury tablicowej, można zapisać nieprawidłową definicję, co prowadzi do trwałego przechowywania błędnych danych. Przy odczycie, nieprawidłowy JSON wywołuje wyjątek, powodując błędy HTTP 500 w funkcjach opartych na szablonach zdarzeń.
Oryginalny opis (angielski, źródło NVD)
Affected versions of MISP insufficiently validate URLs used by dashboard widgets, particularly the Button widget. The widget's URL is stored configuration controlled by a user. The previous renderer considered a URL safe if it appeared relative or if its parsed hostname matched the configured MISP hostname. That logic failed to reject dangerous schemes and URL forms that browsers normalize differently from PHP's URL parsing. As a result, values such as javascript: URLs or backslash-based authority forms could reach the generated anchor's href and execute script or navigate to an attacker-controlled origin when another user interacted with the widget. The upstream commit describes the issue as: “javascript: and backslash URLs reached the href (stored XSS)”. The fix routes widget URLs through a shared DashboardURLValidator, rejects dangerous schemes, raw backslashes, control characters, and unauthorized absolute origins, and validates the URL both in the widget handler and renderer. Version affected: ≤2.5.45

