CRITICAL🇬🇧 English

CVE-2024-5982

Path Traversal i RCE w ChuanhuChatGPT — niezabezpieczone dane wejściowe

CVSS 9.8v3.1pub. 2024-10-29upd. 2024-11-14

W aplikacji ChuanhuChatGPT (gaizhenbiao/chuanhuchatgpt) wykryto podatność typu path traversal wynikającą z braku sanityzacji danych wejściowych w wielu funkcjach systemu. Podatność jest krytyczna, ponieważ może prowadzić do zdalnego wykonania kodu (RCE) bez żadnego uwierzytelnienia.

Pokaż oryginał (EN)

A path traversal vulnerability exists in the latest version of gaizhenbiao/chuanhuchatgpt. The vulnerability arises from unsanitized input handling in multiple features, including user upload, directory creation, and template loading. Specifically, the load_chat_history function in modules/models/base_model.py allows arbitrary file uploads, potentially leading to remote code execution (RCE). The get_history_names function in utils.py permits arbitrary directory creation. Additionally, the load_template function in utils.py can be exploited to leak the first column of CSV files. These issues stem from improper sanitization of user inputs concatenated with directory paths using os.path.join.

🤖 Analiza AI
Jak działa

Problem występuje w trzech miejscach: funkcja load_chat_history w pliku modules/models/base_model.py umożliwia przesyłanie dowolnych plików na serwer poprzez niezabezpieczony upload, co może prowadzić do RCE. Funkcja get_history_names w utils.py pozwala na tworzenie dowolnych katalogów w systemie plików. Funkcja load_template w utils.py może być wykorzystana do odczytu pierwszej kolumny plików CSV, co prowadzi do wycieku danych. Wspólną przyczyną wszystkich trzech problemów jest nieprawidłowa sanityzacja danych wejściowych użytkownika przed ich połączeniem ze ścieżkami katalogów za pomocą os.path.join.

Skutki

Nieuwierzytelniony atakujący zdalny może przesyłać dowolne pliki na serwer (co w konsekwencji może prowadzić do RCE), tworzyć arbitralne katalogi w systemie plików oraz odczytywać dane z plików CSV przechowywanych na serwerze.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawka została wprowadzona w commicie 952fc8c3cbacead858311747cddd4bedcb4721d7 w repozytorium GitHub projektu

Kogo dotyczy

Najnowsza wersja aplikacji gaizhenbiao/chuanhuchatgpt (wersje wskazane w referencjach producenta)

Uwagi

Szczegóły podatności zostały opublikowane za pośrednictwem platformy huntr.com (program bug bounty). Podatność dotyczy trzech odrębnych funkcji w kodzie źródłowym projektu.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Gaizhenbiao Chuanhuchatgpt

    APP
    Gaizhenbiao
    < 20240918
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEPath Traversal
CWE
Referencje

Powiązane podatności

CVE-2024-5823CRITICAL9.1PL ✓ten sam produkt

Nadpisanie plików konfiguracyjnych w ChuanhuChatGPT (file overwrite)

CVE-2024-6036CRITICAL9.1PL ✓ten sam produkt

Nieautoryzowany restart serwera w ChuanhuChatGPT poprzez endpoint /queue/join

CVE-2024-6037CRITICAL9.1PL ✓ten sam produkt

Tworzenie arbitralnych folderów na serwerze w ChuanhuChatGPT

CVE-2024-5822CRITICAL9.8PL ✓ten sam produkt

SSRF w interfejsie upload ChuanhuChatGPT — dostęp do zasobów wewnętrznych

CVE-2024-3234CRITICAL9.8PL ✓ten sam produkt

Path traversal w ChuanhuChatGPT — dostęp do poufnych plików