CVE-2026-80104 in DB-GPT
Zusammenfassung
von VulDB • 26.08.2026
DB-GPT erstellt den Zielpfad für ein hochgeladenes Skill-Modul aus dem mehrteiligen Dateinamen (multipart filename), ohne ihn auf das Upload-Verzeichnis zu beschränken. Die Funktion `skill_upload` in `packages/dbgpt-app/src/dbgpt_app/openapi/api_v1/agentic_data_api.py` verwendet den Dateinamen (`file.filename`) unverändert und schreibt den Anfragetext nach `upload_dir / filename`. Ein mit diesem Operator zusammengesetzter Pfad verwirft den linken Operanden, wenn der rechte absolut ist, und folgt andernfalls Verweisen auf übergeordnete Verzeichnisse; daher führt ein Dateiname wie `../../../tmp/x` oder `/tmp/x` zu einem Speicherort außerhalb des beabsichtigten Verzeichnisses. Es wird keine Kanonisierung des Ergebnisses durchgeführt, es wird nicht überprüft, ob er unter dem Upload-Stammverzeichnis verbleibt, und die Verwendung der Suffix `.py` wird nicht verhindert. Die einzige Abhängigkeit der Route ist `get_user_from_headers` in `dbgpt_serve/utils/auth.py`, das eine Anfrage zurückgibt, die die Administratorrolle trägt, unabhängig davon, ob ein `user_id`-Header angegeben wurde; daher ist der Endpunkt ohne Anmeldeinformationen erreichbar. Ein entfernter Angreifer ohne Konto kann somit beliebig vom Angreifer gesteuerte Bytes in jeden Pfad schreiben, den der Serverprozess beschreiben darf, eine neue Python-Moduldatei innerhalb des Anwendungspakets platzieren oder eine bereits von der Anwendung importierte Datei ersetzen und so bei deren nächstem Import Code-Ausführung im Serverprozess erhalten.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.