CVE-2025-69286
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 54 - wyżej niż 54% wszystkich znanych CVE
Streszczenie
RAGFlow to silnik RAG (Retrieval-Augmented Generation) typu open source. W wersjach przed 0.22.0 użycie niebezpiecznego algorytmu generowania kluczy w procesie tworzenia kluczy API i tokenów beta (współdzielonego uwierzytelniania asystenta/agenta) pozwala na wzajemne wyprowadzenie tych tokenów. Oba tokeny są generowane przy użyciu tego samego `URLSafeTimedSerializer` z przewidywalnymi danymi wejściowymi, co umożliwia nieautoryzowanemu użytkownikowi, który uzyska współdzielony URL asystenta/agenta, wyprowadzenie osobistego klucza API. Daje to pełną kontrolę nad kontem właściciela asystenta/agenta. Wersja 0.22.0 naprawia ten problem.
Ocena ryzyka
Osoba nieupoważniona może przejąć konto właściciela asystenta/agenta, co może prowadzić do kradzieży danych i nieautoryzowanych działań w systemie.
Rekomendacja
Należy jak najszybciej zaktualizować RAGFlow do wersji 0.22.0 lub nowszej oraz unieważnić istniejące klucze API i tokeny beta.
Inne podatności w RAGFlow
Zobacz wszystkie- CVE-2026-45312Krytyczne
RAGFlow 0.24.0 i wcześniejsze wersje zawierają podatność na wstrzykiwanie szablonów Jinja2 w generatorze promptów (rag/prompts/generator.py). Umożliwia ona każdemu uwierzytelnionemu użytkownikowi wykonanie dowolnych poleceń systemu operacyjnego na serwerze.
- CVE-2026-24770Krytyczne
RAGFlow to silnik RAG (Retrieval-Augmented Generation) o otwartym kodzie źródłowym. W wersji 0.23.1 i prawdopodobnie wcześniejszych, parser MinerU zawiera podatność 'Zip Slip', pozwalającą atakującemu na nadpisanie dowolnych plików na serwerze (prowadzące do zdalnego wykonania kodu) poprzez złośliwe archiwum ZIP. Klasa MinerUParser pobiera i rozpakowuje pliki ZIP z zewnętrznego źródła (mineru_server_url). Logika ekstrakcji w `_extract_zip_no_root` nie sanityzuje nazw plików w archiwum ZIP. Commit 64c75d558e4a17a4a48953b4c201526431d8338f zawiera poprawkę.
- CVE-2026-93013Średnie
RAGFlow do wersji 0.27.2 zawiera podatność na path traversal w endpointach dev_insert_chunks_from_file i dev_insert_metadata_from_file, która pozwala uwierzytelnionym atakującym na odczyt dowolnych plików poprzez podanie bezwzględnych ścieżek w parametrze file_path. Atakujący z ważnymi tokenami dostępu mogą wykorzystać brak walidacji ścieżek do odczytu dowolnych plików dostępnych dla usługi, przy czym ujawnienie jest ograniczone do plików pasujących do oczekiwanych struktur JSON, które są następnie zapisywane do zbiorów danych.
- CVE-2026-75898Wysokie
RAGFlow przed wersją 0.26.3 zawiera podatność na atak SSRF (Server-Side Request Forgery) w komponencie Invoke w workflow agenta. Komponent buduje URL żądania z konfiguracji canvas i zmiennych szablonu, a następnie przekazuje go do requests.get/post/put bez walidacji bezpieczeństwa adresu, co pozwala na dostęp do wewnętrznych zasobów sieciowych.
- CVE-2026-58579Średnie
Podatność XSS w RAGFlow przed wersją 0.26.3 pozwala uwierzytelnionemu użytkownikowi na wstrzyknięcie dowolnego kodu JavaScript poprzez nazwę węzła potoku agenta (DSL). Kod wykonuje się w sesji innego członka obszaru roboczego, który otworzy wynik przepływu danych i kliknie przycisk ponownego uruchomienia.
- CVE-2026-28797Wysokie
RAGFlow w wersjach do 0.24.0 zawiera podatność na wstrzykiwanie szablonów po stronie serwera (SSTI) w komponentach TextProcessing i Message. Umożliwia ona uwierzytelnionemu użytkownikowi wykonanie dowolnych poleceń systemowych na serwerze poprzez niebezpieczne renderowanie szablonów Jinja2.
- CVE-2025-68700Wysokie
RAGFlow to silnik RAG (Retrieval-Augmented Generation) o otwartym kodzie źródłowym. W wersjach przed 0.23.0, użytkownik z niskimi uprawnieniami (normalne konto logowania) może wykonać dowolne polecenia systemowe na procesie hosta serwera przez komponent Canvas CodeExec, całkowicie omijając izolację piaskownicy. Dzieje się tak, ponieważ nieufne dane (stdout) są parsowane za pomocą eval() bez filtrowania lub piaskownicy. Dodatkowe punkty końcowe nie mają kontroli dostępu lub zawierają odwróconą logikę uprawnień, co zwiększa powierzchnię ataku.
Oryginalny opis (angielski, źródło NVD)
RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine. In versions prior to 0.22.0, the use of an insecure key generation algorithm in the API key and beta (assistant/agent share auth) token generation process allows these tokens to be mutually derivable. Specifically, both tokens are generated using the same `URLSafeTimedSerializer` with predictable inputs, enabling an unauthorized user who obtains the shared assistant/agent URL to derive the personal API key. This grants them full control over the assistant/agent owner's account. Version 0.22.0 fixes the issue.

