W aplikacji db-gpt w wersji v0.6.0 endpoint API `POST /api/v1/editor/sql/run` pozwala na wykonywanie dowolnych zapytań SQL bez żadnej kontroli dostępu. Podatność może prowadzić do zapisu dowolnych plików na serwerze, a w konsekwencji do zdalnego wykonania kodu (RCE).
▸ Pokaż oryginał (EN)
In eosphoros-ai/db-gpt version v0.6.0, the web API `POST /api/v1/editor/sql/run` allows execution of arbitrary SQL queries without any access control. This vulnerability can be exploited by attackers to perform Arbitrary File Write using DuckDB SQL, enabling them to write arbitrary files to the victim's file system. This can potentially lead to Remote Code Execution (RCE).
Atakujący bez uwierzytelnienia wysyła żądanie HTTP POST do publicznego endpointu `/api/v1/editor/sql/run`, przekazując dowolne zapytanie SQL. Brak mechanizmów kontroli dostępu sprawia, że zapytanie jest wykonywane bezpośrednio przez silnik DuckDB. Funkcje DuckDB umożliwiają zapis danych do plików na systemie operacyjnym serwera, co pozwala atakującemu umieścić tam złośliwy plik (np. skrypt wykonywalny lub webshell), a następnie doprowadzić do jego uruchomienia i przejęcia kontroli nad systemem.
Atakujący może zapisywać dowolne pliki na systemie plików ofiary, co w praktyce może prowadzić do zdalnego wykonania kodu (RCE) i pełnego przejęcia kontroli nad serwerem. Zagrożona jest poufność, integralność oraz dostępność całego systemu.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowo zaleca się niezwłoczne ograniczenie dostępu do endpointu `/api/v1/editor/sql/run` na poziomie firewall lub reverse proxy do czasu wdrożenia poprawki, a także wdrożenie uwierzytelniania i autoryzacji dla wszystkich endpointów API.
eosphoros-ai/db-gpt w wersji v0.6.0
Podatność zgłoszona za pośrednictwem platformy huntr.com. Dotyczy wyłącznie wersji v0.6.0 produktu db-gpt firmy eosphoros-ai.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDbgpt Db Gpt
APPDbgpt0.6.0
Powiązane podatności
Dowolne wykonanie kodu przez niekontrolowane SQL API w db-gpt
Absolute Path Traversal w DB-GPT — zapis plików w dowolnej lokalizacji
Arbitrary file write przez path traversal w DB-GPT (knowledge API)
Dowolny zapis plików w db-gpt przez podatność path traversal w RAG-knowledge
Arbitrary File Upload z Path Traversal w db-gpt — możliwy RCE