CVE-2026-78378
ŚrednieCVSS 6.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
Ransomlook zawiera podatność na wstrzyknięcie wzorca glob Redis spowodowaną niewystarczającą neutralizacją danych wprowadzanych przez użytkownika przed użyciem ich we wzorcach SCAN MATCH. Nieuwierzytelniony atakujący może użyć metaznaków glob, takich jak *, ?, [ lub ], aby rozszerzyć operację SCAN poza zamierzoną grupę, co może ujawnić informacje o zdrowiu, slugach mirrorów i seriach czasu dostępności wszystkich grup i rynków, w tym jednostek oznaczonych jako prywatne. Podobna niebezpieczna interpolacja występuje w /api/crypto/chain/<chain> i w funkcji delete_manual_torrent(), gdzie może prowadzić do usunięcia kluczy zdrowia torrentów innych torrentów.
Ocena ryzyka
Atakujący może uzyskać dostęp do poufnych informacji lub spowodować uszkodzenie danych, co narusza poufność i integralność systemu.
Rekomendacja
Należy natychmiast zastosować poprawkę, która usuwa niebezpieczne zachowanie fallback i wprowadza escapowanie znaków glob dla wartości kontrolowanych przez użytkownika.
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-78386Wysokie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
Ransomlook contains a Redis glob pattern injection vulnerability caused by insufficient neutralization of user-controlled input before it is incorporated into Redis SCAN MATCH patterns. The /api/health/<name> endpoint attempted to resolve the supplied name to a known group or market, but when resolution failed it fell back to using the attacker-controlled value directly in a Redis key pattern. An unauthenticated attacker could therefore supply Redis glob metacharacters such as *, ?, [ or ] to broaden the SCAN operation beyond the intended group. For example, requesting /api/health/* could enumerate health information, mirror slugs, and uptime series belonging to all groups and markets, including entities marked as private. Similar unsafe interpolation was present in /api/crypto/chain/<chain> and in the delete_manual_torrent() function. The latter represents a potentially destructive sink because a crafted infohash containing glob metacharacters could cause the scan to match torrent-health keys belonging to other torrents if attacker-controlled input can reach that function. The patch removes the unsafe fallback from the health endpoint and introduces glob escaping for user-controlled values before they are incorporated into Redis SCAN MATCH expressions.

