CVE-2026-94379
ŚrednieCVSS 6.9Streszczenie
Funkcja login() w pliku UsersController.php MISP zawierała niewystarczającą walidację metod HTTP dla kilku krytycznych ścieżek kodu. Oryginalny kod używał podejścia allowlisty, sprawdzając tylko konkretne metody HTTP (POST i PUT) przed egzekwowaniem ochrony przed bruteforce, weryfikacji jednorazowego hasła e-mail (OTP) i logowania nieudanych prób logowania. Ponieważ sprawdzenia nie były wyczerpujące, nieuwierzytelniony atakujący mógł wysyłać żądania logowania innymi metodami HTTP i jednocześnie ominąć wszystkie trzy mechanizmy bezpieczeństwa.
Ocena ryzyka
Atakujący może ominąć ochronę przed bruteforce, drugi czynnik uwierzytelniania (OTP e-mail) oraz rejestrowanie nieudanych prób logowania, co może prowadzić do przejęcia poświadczeń i nieautoryzowanego dostępu do instancji MISP. Podatność dotyczy wersji przed 2.5.47.
Rekomendacja
Zaktualizuj MISP do wersji 2.5.47 lub nowszej. Do czasu aktualizacji rozważ ograniczenie dostępu do endpointu logowania na poziomie reverse proxy oraz monitoruj nietypowe metody HTTP.
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)
The login() function in MISP's UsersController.php contained insufficient HTTP method validation for several security-critical code paths. The original code used an allowlist approach, checking only for specific HTTP methods (POST and PUT) before enforcing bruteforce protection, email one-time-password (OTP) verification, and login-failure logging. Because the checks were not exhaustive, an unauthenticated attacker could issue login requests using other HTTP methods and bypass all three security controls simultaneously. Specifically: - the bruteforce blocklisting check and attempt counter were skipped, allowing unlimited credential-guessing attempts without being rate-limited or blocked - the email OTP two-factor authentication step was skipped, defeating the second factor of authentication - login-failure events were neither logged nor counted, removing the audit trail and the mechanism that would normally trigger a blocklist entry. The security impact is the effective disabling of brute-force protection and multi-factor authentication for any attacker who can craft an HTTP request with a non-POST/PUT method to the login endpoint, potentially leading to credential compromise and unauthorized access to the MISP instance. Version affected: <2.5.47
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

