CVE-2026-85734
KrytyczneCVSS 9.1Streszczenie
LightRAG to narzędzie do szybkiego generowania wspomaganego wyszukiwaniem. Przed wersją 1.5.5 endpoint POST /login w lightrag/api/lightrag_server.py nie nakłada limitu szybkości, blokady konta, opóźnienia ani licznika nieudanych prób uwierzytelnienia. Atakujący w sieci może zgadywać hasła z pełną szybkością żądań, aż znajdzie prawidłowe hasło konta.
Ocena ryzyka
Skuteczne odgadnięcie poświadczeń daje uwierzytelniony dostęp do dokumentów, grafu wiedzy oraz operacji administracyjnych.
Rekomendacja
Zaktualizuj LightRAG do wersji 1.5.5 lub nowszej, która wprowadza ograniczenia dla nieudanych prób logowania.
Inne podatności w LightRAG
Zobacz wszystkie- CVE-2026-86062Średnie
LightRAG przed wersją 1.5.5 renderuje treść odpowiedzi i myślenia za pomocą react-markdown, rehypeRaw i skipHtml=false bez sanityzacji HTML. Atakujący mogący dodać dokument może zapisać surowy HTML, który jest zwracany przez ścieżkę zapytania i renderowany jako aktywna treść, umożliwiając wykonanie dowolnego kodu JavaScript m.in. przez iframe srcdoc. Skrypt działa w origin LightRAG WebUI i może odczytać token API z localStorage oraz wykonywać akcje API w imieniu ofiary.
- CVE-2026-85740Wysokie
LightRAG przed wersją 1.5.5 zawiera podatność w parserze Markdown, która umożliwia pobieranie zasobów z wewnętrznych adresów IPv4 przy użyciu translatorów NAT64, co może prowadzić do nieautoryzowanego dostępu do wewnętrznych zasobów.
- CVE-2026-85725Średnie
LightRAG przed wersją 1.5.5 w funkcji verify_password w lightrag/api/passwords.py porównuje hasła AUTH_ACCOUNTS za pomocą operatora ==, co może ujawniać różnice czasowe zależne od długości hasła i pasujących prefiksów. Atakujący sieciowy o niskich opóźnieniach może wielokrotnie odpytywać /login i wykorzystać oracle czasowy do odzyskania hasła znak po znaku. Wdrożenia używające haseł z prefiksem bcrypt nie są dotknięte tą ścieżką porównania.
- CVE-2026-85709Średnie
LightRAG przed wersją 1.5.5 zwraca surowe teksty wyjątków Pythona z obsługi błędów w document_routes.py, graph_routes.py, query_routes.py, ollama_api.py i lightrag_server.py. Ścieżki detail=str(e), detail=str(exc) i podobne ujawniają klientowi sieciowemu ścieżki systemu plików, host, port, użytkownika i nazwy bazy danych, diagnostykę dostawcy modelu językowego, szczegóły konfiguracji oraz wnętrza bibliotek Pythona. Domyślna konfiguracja bez uwierzytelniania czyni te odpowiedzi dostępnymi bez poświadczeń.
- CVE-2026-61808Krytyczne
LightRAG do wersji 1.5.4 włącznie ma serwer API, który wiąże się ze wszystkimi interfejsami sieciowymi z wyłączonym uwierzytelnianiem domyślnie, co pozwala nieuwierzytelnionemu atakującemu sieciowemu na odczyt indeksowanych dokumentów, przesyłanie lub usuwanie dokumentów, modyfikację grafu wiedzy, anulowanie potoków, czyszczenie pamięci podręcznej i zużywanie zasobów LLM.
- CVE-2026-61740Krytyczne
W LightRAG przed wersją 1.5.4, gdy zmienna LIGHTRAG_API_KEY jest ustawiona, ale AUTH_ACCOUNTS nie, ochrona za pomocą X-API-Key może zostać ominięta. System używa zakodowanego na stałe tokena DEFAULT_TOKEN_SECRET, a endpointy /auth-status i /login mogą generować gościnne tokeny JWT, które są akceptowane przed sprawdzeniem klucza API. Zdalny, nieuwierzytelniony atakujący może wywoływać chronione endpointy, w tym do odczytu, przesyłania i usuwania dokumentów, mutacji grafu oraz zapytań.
- CVE-2026-61736Krytyczne
LightRAG w wersji przed 1.5.4 domyślnie konfiguruje CORS z wartością CORS_ORIGINS=* oraz allow_credentials=True, co powoduje, że Starlette CORSMiddleware zezwala na uwierzytelnione żądania z dowolnego źródła. Umożliwia to atakującemu na złośliwej stronie WWW wykonywanie żądań API w imieniu uwierzytelnionego użytkownika.
- CVE-2026-39413Średnie
LightRAG przed wersją 1.4.14 jest podatny na atak polegający na pomyleniu algorytmu JWT, gdzie atakujący może sfałszować tokeny, ustawiając 'alg': 'none' w nagłówku JWT. Funkcja jwt.decode() nie odrzuca jawnie algorytmu 'none', więc sfałszowany token bez podpisu jest akceptowany jako ważny, co prowadzi do nieautoryzowanego dostępu. Podatność została naprawiona w wersji 1.4.14.
Oryginalny opis (angielski, źródło NVD)
LightRAG provides simple and fast retrieval-augmented generation. Prior to 1.5.5, the POST /login endpoint in lightrag/api/lightrag_server.py does not impose a rate limit, account lockout, delay, or counter for failed authentication attempts. A network attacker can submit password guesses at full request speed until a valid account password is found. Successful credential recovery grants authenticated access to documents, the knowledge graph, and administrative operations. This issue is fixed in version 1.5.5.

