CVE-2025-68700
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 52 - wyżej niż 52% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może uzyskać pełną kontrolę nad serwerem, wykonując dowolne polecenia, co może prowadzić do naruszenia poufności, integralności i dostępności danych.
Rekomendacja
Należy natychmiast zaktualizować RAGFlow do wersji 0.23.0 lub nowszej, która zawiera poprawkę, oraz ograniczyć dostęp do kont użytkowników.
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-2025-69286Krytyczne
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine. In versions prior to 0.23.0, a low-privileged authenticated user (normal login account) can execute arbitrary system commands on the server host process via the frontend Canvas CodeExec component, completely bypassing sandbox isolation. This occurs because untrusted data (stdout) is parsed using eval() with no filtering or sandboxing. The intended design was to "automatically convert string results into Python objects," but this effectively executes attacker-controlled code. Additional endpoints lack access control or contain inverted permission logic, significantly expanding the attack surface and enabling chained exploitation. Version 0.23.0 contains a patch for the issue.

