db-gpt w wersji 0.6.0 zawiera krytyczną podatność w endpoincie RAG-knowledge, umożliwiającą nieuwierzytelnionemu atakującemu zapis plików w dowolnej lokalizacji na serwerze. Błąd ten może prowadzić do nadpisania krytycznych plików systemowych lub wprowadzenia nieautoryzowanych wpisów SSH.
▸ Pokaż oryginał (EN)
eosphoros-ai/db-gpt version 0.6.0 contains a vulnerability in the RAG-knowledge endpoint that allows for arbitrary file write. The issue arises from the ability to pass an absolute path to a call to `os.path.join`, enabling an attacker to write files to arbitrary locations on the target server. This vulnerability can be exploited by setting the `doc_file.filename` to an absolute path, which can lead to overwriting system files or creating new SSH-key entries.
Podatność wynika z nieprawidłowej obsługi ścieżek plików w wywołaniu funkcji `os.path.join` — gdy parametr `doc_file.filename` zawiera ścieżkę bezwzględną (absolutną), funkcja ignoruje wcześniej zdefiniowany katalog bazowy i używa wyłącznie podanej ścieżki absolutnej. Atakujący może zatem ustawić wartość `doc_file.filename` na dowolną ścieżkę absolutną w systemie plików serwera (np. `/root/.ssh/authorized_keys`), co skutkuje zapisem kontrolowanych treści poza dozwolonym obszarem. Atak nie wymaga uwierzytelnienia ani interakcji ze strony użytkownika.
Atakujący może nadpisywać istniejące pliki systemowe lub tworzyć nowe pliki w dowolnym miejscu systemu plików serwera, co w praktyce może prowadzić do trwałego przejęcia kontroli nad serwerem — np. poprzez dodanie własnego klucza SSH do pliku `authorized_keys`.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Tymczasowo zaleca się ograniczenie dostępu sieciowego do endpointu RAG-knowledge oraz weryfikację integralności krytycznych plików systemowych i wpisów SSH na serwerach z zainstalowaną aplikacją.
eosphoros-ai/db-gpt w wersji 0.6.0
Szczegółowy raport podatności dostępny w programie bug bounty Huntr pod adresem: https://huntr.com/bounties/0d598508-151a-4050-9ccd-31bb82955e7a
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/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)
SQL Injection i zapis plików w db-gpt umożliwiające RCE
Arbitrary File Upload z Path Traversal w db-gpt — możliwy RCE