W aplikacji DB-GPT w wersji 0.6.0 endpoint służący do przesyłania plików jest podatny na atak typu absolute path traversal. Atakujący bez żadnego uwierzytelnienia może zapisać dowolny plik w dowolnym miejscu na serwerze, co stwarza poważne ryzyko przejęcia kontroli nad systemem.
▸ Pokaż oryginał (EN)
In eosphoros-ai/db-gpt version 0.6.0, the endpoint for uploading files is vulnerable to absolute path traversal. This vulnerability allows an attacker to upload arbitrary files to arbitrary locations on the target server. The issue arises because the `file_key` and `doc_file.filename` parameters are user-controllable, enabling the construction of paths outside the intended directory. This can lead to overwriting essential system files, such as SSH keys, for further exploitation.
Podatność wynika z braku walidacji parametrów `file_key` oraz `doc_file.filename`, które są w pełni kontrolowane przez użytkownika. Poprzez odpowiednie spreparowanie wartości tych parametrów atakujący może skonstruować ścieżkę bezwzględną (absolute path) wykraczającą poza zamierzony katalog docelowy. W efekcie przesyłany plik trafia do wskazanej przez atakującego lokalizacji w systemie plików serwera, w tym do katalogów systemowych. Przykładem eksploatacji jest nadpisanie kluczy SSH, co umożliwia dalsze działania po uzyskaniu dostępu.
Atakujący może nadpisać lub umieścić dowolne pliki w krytycznych lokalizacjach systemu operacyjnego, takich jak klucze SSH, co może prowadzić do przejęcia pełnej kontroli nad serwerem. Podatność umożliwia zarówno zniszczenie danych, jak i stworzenie trwałego przyczółka do dalszej eksploatacji.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowo zaleca się ograniczenie dostępu do endpointu przesyłania plików wyłącznie do uwierzytelnionych i autoryzowanych użytkowników oraz wdrożenie ścisłej walidacji i sanityzacji ścieżek po stronie serwera.
eosphoros-ai/DB-GPT w wersji 0.6.0
Szczegóły podatności zostały opublikowane za pośrednictwem platformy huntr.com (bounty 5c34c39f-66d4-414c-ab6a-f7888a5d882a).
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
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
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