W aplikacji db-gpt w wersji v0.6.0 endpoint API `POST /api/v1/editor/chart/run` umożliwia wykonanie dowolnych zapytań SQL bez jakiejkolwiek kontroli dostępu. Podatność może prowadzić do zapisu dowolnych plików na serwerze, a w konsekwencji do Remote Code Execution (RCE).
▸ Pokaż oryginał (EN)
In eosphoros-ai/db-gpt version v0.6.0, the web API `POST /api/v1/editor/chart/run` allows execution of arbitrary SQL queries without any access control. This vulnerability can be exploited by attackers to perform Arbitrary File Write, enabling them to write arbitrary files to the victim's file system. This can potentially lead to Remote Code Execution (RCE) by writing malicious files such as `__init__.py` in the Python's `/site-packages/` directory.
Atakujący bez uwierzytelnienia wysyła żądanie HTTP POST do endpointu `/api/v1/editor/chart/run`, przekazując dowolne zapytanie SQL, które zostaje wykonane przez serwer bez weryfikacji uprawnień. Mechanizm ten (CWE-434 — nieograniczony upload/zapis plików) pozwala na zapis pliku o dowolnej treści w dowolnej lokalizacji systemu plików ofiary. Przykładowy scenariusz ataku zakłada nadpisanie lub stworzenie złośliwego pliku `__init__.py` w katalogu `/site-packages/` interpretera Python, co skutkuje wykonaniem kodu przy kolejnym imporcie modułu przez aplikację.
Atakujący może uzyskać pełną kontrolę nad serwerem poprzez Remote Code Execution (RCE) — bez konieczności posiadania jakiegokolwiek konta czy uprawnień. Efektem może być kompromitacja poufności, integralności i dostępności całego systemu.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się również ograniczenie dostępu sieciowego do endpointów API aplikacji db-gpt wyłącznie do zaufanych hostów do czasu zastosowania poprawki.
eosphoros-ai/db-gpt w wersji v0.6.0
Podatność została zgłoszona i udokumentowana na platformie huntr.com (bounty db2c1d59-6e3a-4553-a1f6-94c8df162a18). Endpoint API jest dostępny bez uwierzytelnienia, co sprawia, że podatność jest wyjątkowo łatwa do wykorzystania zdalnie.
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
SQL Injection i zapis plików w db-gpt umożliwiające RCE
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