CVE-2026-80104 in DB-GPT
الملخص
بحسب VulDB • 26/08/2026
يقوم DB-GPT ببناء المسار الوجهي لمهارة (skill) تم تحميلها باستخدام اسم الملف متعدد الأجزاء دون تقييده بمجلد التحميل. تأخذ دالة skill_upload الموجودة في packages/dbgpt-app/src/dbgpt_app/openapi/api_v1/agentic_data_api.py قيمة file.filename كما هي وتكتب جسم الطلب إلى upload_dir / filename. يتجاهل المسار المكون باستخدام هذا العامل المعامل الأيسر عندما يكون المعامل الأيمن مطلقاً، ويتبع مراجعات الوالدين (parent references) في الحالات الأخرى؛ لذا فإن اسم ملف مثل ../../../tmp/x أو /tmp/x يحل خارج المجلد المقصود؛ ولا يتم تجريد النتيجة إلى مسار قياسي (canonicalize)، ولا يُتحقق من بقائها ضمن الجذر الخاص بالتحميل، ولا يتم منع امتداد .py. تعتمد المسار الوحيد على get_user_from_headers في dbgpt_serve/utils/auth.py، والتي تعيد طلباً يحمل دور المسؤول (admin role) سواء تم توفير رأس user_id أم لا؛ لذا فإن نقطة النهاية قابلة للوصول دون بيانات اعتماد. يمكن لمهاجم عن بعد لا يمتلك حساباً كتابة بايتات يتحكم فيها المهاجم إلى أي مسار يمكن لعمليات الخادم كتابته، ووضع وحدة Python جديدة داخل حزمة التطبيق أو استبدال واحدة يستوردها التطبيق بالفعل، والحصول على تنفيذ للكود في عملية الخادم عند استيراد تلك الوحدة مرة أخرى.
If you want to get best quality of vulnerability data, you may have to visit VulDB.