W wersji 0.12.0 aplikacji Infiniflow RAGflow funkcja `web_crawl` zawiera krytyczne podatności umożliwiające Full Read SSRF, odczyt dowolnych plików z serwera oraz zdalne wykonanie kodu (RCE). Ze względu na brak filtrowania parametrów URL i użycie przestarzałej wersji Chromium w trybie --no-sandbox, atakujący nieuwierzytelniony sieciowo może całkowicie przejąć kontrolę nad serwerem.
▸ Pokaż oryginał (EN)
In infiniflow/ragflow versions 0.12.0, the `web_crawl` function in `document_app.py` contains multiple vulnerabilities. The function does not filter URL parameters, allowing attackers to exploit Full Read SSRF by accessing internal network addresses and viewing their content through the generated PDF files. Additionally, the lack of restrictions on the file protocol enables Arbitrary File Read, allowing attackers to read server files. Furthermore, the use of an outdated Chromium headless version with --no-sandbox mode enabled makes the application susceptible to Remote Code Execution (RCE) via known Chromium v8 vulnerabilities. These issues are resolved in version 0.14.0.
Funkcja `web_crawl` w pliku `document_app.py` nie filtruje parametrów URL przekazywanych przez użytkownika, co pozwala atakującemu na skierowanie żądań do wewnętrznych adresów sieciowych (Full Read SSRF) — wyniki są eksfiltrowane przez wygenerowane pliki PDF. Brak ograniczeń na protokół `file://` umożliwia bezpośredni odczyt plików z systemu plików serwera (Arbitrary File Read). Dodatkowo aplikacja korzysta z przestarzałej wersji przeglądarki Chromium uruchamianej w trybie headless z opcją --no-sandbox, co pozwala na wykorzystanie znanych podatności silnika V8 do zdalnego wykonania kodu (RCE).
Atakujący może uzyskać pełny dostęp do wewnętrznej sieci ofiary oraz odczytać dowolne pliki z serwera (w tym dane uwierzytelniające i konfiguracyjne), a poprzez RCE może przejąć pełną kontrolę nad systemem.
Należy zaktualizować Infiniflow RAGflow do wersji 0.14.0, w której podatności zostały naprawione. Szczegóły poprawki dostępne są w referencjach producenta (commit 3faae0b2c2f8a26233ee1442ba04874b3406f6e9 w repozytorium GitHub).
Infiniflow RAGflow w wersji 0.12.0
Podatność obejmuje trzy odrębne klasy błędów: Full Read SSRF (CWE-918), Arbitrary File Read oraz RCE poprzez znane podatności Chromium V8 uruchamianego z opcją --no-sandbox. Wszystkie trzy dotyczą tej samej funkcji web_crawl w document_app.py.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HInfiniflow Ragflow
APPInfiniflow0.12.0
Powiązane podatności
Zip Slip RCE w RAGFlow — nadpisanie plików przez złośliwe archiwum ZIP
Przejęcie konta w RAGFlow poprzez brute-force kodów weryfikacyjnych
RCE w Infiniflow RagFlow — statyczny klucz AuthKey i niebezpieczna deserializacja pickle
RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine. In versions 0.24.0 and prior, a Server-...
RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine. In versions prior to 0.22.0, the use of...