CVE-2026-78386
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 39 - wyżej niż 39% wszystkich znanych CVE
Streszczenie
RansomLook ujawnia wrażliwą konfigurację skrobania po stronie operatora przez nieuwierzytelnione odpowiedzi API. Rekordy lokalizacji związane z grupami ransomware i rynkami są zwracane prawie w całości nieuwierzytelnionym wywołującym, jeśli lokalizacja nie jest oznaczona jako prywatna. Rekordy te mogą zawierać wewnętrzne pola, takie jak nagłówki uwierzytelniające, ciasteczka sesji, skrypty inicjujące i szczegóły środowiska przeglądarki.
Ocena ryzyka
Nieuwierzytelniony atakujący może uzyskać dane uwierzytelniające i logikę omijania zabezpieczeń, co może umożliwić replikację ataków na monitorowane usługi lub identyfikację mechanizmów zbierania danych RansomLook.
Rekomendacja
Zastosuj poprawkę, która wprowadza jawną listę dozwolonych pól w publicznych rekordach lokalizacji i usuwa wszystkie pola po stronie operatora przed zwróceniem danych nieuwierzytelnionym użytkownikom.
Inne podatności w RansomLook
Zobacz wszystkie- CVE-2026-78555Krytyczne
RansomLook ujawniał pełne klucze API w źródle HTML uwierzytelnionej strony administracyjnej /admin/apikeys. Interfejs pokazywał tylko skróconą reprezentację klucza, ale pełny token był osadzony w ukrytych polach formularza używanych do akcji włączania/wyłączania, dostępu prywatnego i usuwania.
- CVE-2026-78387Krytyczne
RansomLook zawiera słabość autoryzacji w internetowym edytorze konfiguracji dostępnym przez punkt końcowy /admin/config. Punkt końcowy wymaga uwierzytelnionej sesji, ale nie przeprowadza jawnej kontroli uprawnień administratora przed umożliwieniem dostępu do funkcji zarządzania konfiguracją. Uwierzytelniony użytkownik o niskich uprawnieniach może modyfikować plik config/generic.json, zmieniając ustawienia powiadomień, LDAP, SMTP i ogólne ustawienia aplikacji.
- CVE-2026-78372Krytyczne
RansomLook nie egzekwuje spójnie kontroli autoryzacji przy dostępie do grup, rynków i notatek okupu oznaczonych jako prywatne. Nieuwierzytelniony lub nieautoryzowany zdalny atakujący może uzyskać dostęp do informacji związanych z prywatnymi encjami przez kilka widoków internetowych i punktów końcowych API. Funkcjonalność /compare może być również zapytana bezpośrednio z nazwą prywatnej encji, umożliwiając nieautoryzowanemu użytkownikowi pobranie informacji takich jak liczba postów, sumy luster i czas działania, nawet gdy encja jest wykluczona z normalnego interfejsu użytkownika.
- CVE-2026-78370Krytyczne
RansomLook zawiera wadę autoryzacji w starszej funkcji eksportu bazy danych, która może pozwolić nieuwierzytelnionym zdalnym użytkownikom na pobranie informacji przeznaczonych do pozostania prywatnymi. Punkt końcowy /export/<database> umożliwia eksport wybranych wewnętrznych baz danych bez wymagania uwierzytelnienia. Chociaż dla niektórych baz encji wykonywane jest ograniczone filtrowanie, inne eksportowalne bazy są zwracane bezpośrednio bez spójnego stosowania ograniczeń dostępu do prywatnych encji. W rezultacie informacje związane z grupami, rynkami, postami lub innymi rekordami oznaczonymi jako prywatne mogą być zawarte w eksporcie dostępnym dla nieuwierzytelnionego żądającego.
- CVE-2026-78553Wysokie
RansomLook utworzył klucz podpisywania sesji Flask bez ograniczenia uprawnień pliku, co skutkuje uprawnieniami takimi jak 0644. Inni lokalni użytkownicy mogą odczytać sekret kryptograficzny, co pozwala na generowanie ważnych ciasteczek sesyjnych i podszywanie się pod uwierzytelnionych użytkowników, w tym administratora.
- CVE-2026-78551Wysokie
Podatność w RansomLook umożliwia nieuwierzytelnionemu atakującemu enumerację nazw użytkowników, nieograniczone ataki siłowe na hasła oraz potencjalne wyczerpanie zasobów aplikacji. Problem wynika z różnic w czasie odpowiedzi dla istniejących i nieistniejących nazw użytkowników oraz braku ograniczeń liczby nieudanych prób logowania.
- CVE-2026-78391Wysokie
RansomLook zawiera podatność na trwały atak XSS w widoku szczegółów portfela kryptowalut. Adresy kryptowalut i nazwy blockchainów pochodzące z zewnętrznych źródeł, w tym publicznego feedu ransomwhe.re, były przechowywane bez wystarczającej walidacji i osadzane bezpośrednio w atrybucie onclick JavaScript. Mimo zastosowania autoescapingu Jinja, dane niezaufane umieszczone w stringu JavaScript wewnątrz atrybutu HTML mogły zostać zdekodowane przez parser HTML i wykonane jako kod.
- CVE-2026-78385Wysokie
RansomLook zawiera niewystarczającą walidację zasobów w funkcji generowania analiz PDF. Dokumenty analiz są konwertowane z Markdown do HTML i przekazywane do WeasyPrint w celu renderowania PDF. Przed poprawką WeasyPrint używał domyślnego pobieracza URL, co pozwalało na nieograniczone rozwiązywanie referencji do zasobów zawartych w analizie.
- CVE-2026-78381Wysokie
RansomLook zawiera podatność typu path traversal w obsłudze pola screen powiązanego z postami grupowymi. Handler API GroupPost.get łączy wartość screen kontrolowaną przez bazę danych bezpośrednio z katalogiem source/ aplikacji i otwiera wynikową ścieżkę bez weryfikacji, czy rozwiązany plik pozostaje w zamierzonym katalogu. Złośliwa instancja nadrzędna może dostarczyć sekwencje traversal, takie jak ../config/generic.json, co prowadzi do odczytu dowolnych plików.
- CVE-2026-78380Wysokie
Podatność w RansomLook polega na braku egzekwowania ustawień prywatności grup i rynków ransomware podczas dystrybucji nowo zebranych postów ofiar do zewnętrznych kanałów powiadomień. Logika po przetworzeniu sprawdza tylko, czy pojedynczy post jest oznaczony jako prywatny, ale nie weryfikuje, czy grupa lub rynek, do którego post należy, jest skonfigurowany jako prywatny. W rezultacie informacje o ofiarach z prywatnych grup lub rynków mogą być automatycznie publikowane przez włączone kanały Rocket.Chat, Mastodon, Bluesky i e-mail, a także dodawane do publicznego feedu MISP.
Oryginalny opis (angielski, źródło NVD)
RansomLook exposed sensitive operator-side scraping configuration through multiple unauthenticated API responses. Location records associated with ransomware groups and markets were returned largely verbatim to unauthenticated callers whenever the location itself was not marked as private. These records could contain internal fields such as header, which may include authentication headers, session cookies, or other credentials used to access monitored websites; init_script, which may contain logic used to bypass CAPTCHA, anti-bot protections, or paywalls; and browser, which discloses details about the scraping environment. An unauthenticated remote attacker could query the affected API endpoints and obtain these values. Leaked authentication material could potentially be replayed against the monitored service, while disclosure of scraping and bypass logic could allow site operators or other attackers to identify and defeat RansomLook's collection mechanisms. The patch introduces an explicit allowlist of fields permitted in public location records and strips all operator-side fields before returning data to unauthenticated users. The accompanying change from <string:postname> to <path:postname> appears to be a functional correction allowing legitimate post titles containing / and does not, based on this patch alone, represent the security issue.

