ثغرتان في LiteLLM: من مستخدم داخلي إلى RCE

ثغرتان في LiteLLM: من مستخدم داخلي إلى RCE
حققت Check Point Research في LiteLLM Proxy 1.77.7 واكتشفت ثغرتين.
الثغرة الأولى، CVE-2026-35029، هي انتهاك للتحكم في الوصول يؤثر على POST /config/update. عند تسجيل الدخول إلى واجهة LiteLLM web، يصدر LiteLLM رمز واجهة مستخدم (UI token) مع team_id=litellm-dashboard. يستخدم فحص المسارات المسموح بها startswith(): لأن /config موجود في القائمة، يحصل الرمز أيضًا على الوصول إلى /config/update. لا يتحقق المعالج نفسه من دور PROXY_ADMIN. ونتيجة لذلك، حتى المستخدم بدور Internal User يمكنه تعديل تكوين البوابة.
أظهر الباحثون ثلاثة سيناريوهات: • قراءة الملفات: تعيين UI_LOGO_PATH إلى مسار ملف محلي واسترداد محتوياته عبر GET /get_image؛ • الاستيلاء على صلاحيات المسؤول: تغيير UI_USERNAME وUI_PASSWORD، وبعد ذلك يسجل المهاجم الدخول بصفة PROXY_ADMIN؛ • RCE: إضافة general_settings.pass_through_endpoints مع هدف يشير إلى وحدة Python في S3 أو GCS. عند تحديث التكوين، يقوم LiteLLM بتنزيل الوحدة وتنفيذ شفرتها عبر importlib وexec_module().
الثغرة الثانية، CVE-2026-59823، هي SSRF في آلية Clientside LLM Credentials. تسمح المعلمة user_config في /chat/completions بإنشاء موجّه (router) باستخدام api_base عشوائي، متجاوزةً القيود المفروضة على المعلمتين المعتادتين api_base وapi_key. في PoC، أرسلت البوابة طلبًا إلى خادم الباحثين مع مفتاح API الخاص بمزود LLM، مضافًا إلى الترويسات. يتطلب الاستغلال وصولًا مصادقًا عليه.
تم إصلاح الثغرة في LiteLLM 1.83.9.
الثغرات
الباحثون
المورّدون
المنتجات
المزيد