LiteLLM prior to 1.83.10 allows a user to modify their own user_role via the /user/update endpoint. While the endpoint correctly restricts users to updating only their own account, it does not restrict which fields may be changed. A user who can reach this endpoint can set their role to proxy_admin, gaining full administrative access to LiteLLM including all users, teams, keys, models, and prompt history. Users with the org_admin role have legitimate access to this endpoint and can exploit this vulnerability without chaining any additional flaw.
LiteLLM versions prior to 1.83.10 contain a critical privilege escalation vulnerability (CVE-2026-47102) where users can modify their own role to proxy_admin through the /user/update endpoint, gaining full administrative access. This vulnerability affects any organization using LiteLLM for API management and authentication, particularly those with multiple user roles. The lack of field-level access controls on the user update endpoint creates an immediate and severe risk for unauthorized administrative access.
IMMEDIATE ACTIONS:
1. Identify all LiteLLM deployments in your environment and document their versions
2. Restrict network access to the /user/update endpoint using WAF rules or network segmentation - allow only trusted administrative networks
3. Implement API gateway authentication logging and monitor for suspicious role modification attempts
4. Audit all user accounts for unauthorized role changes to proxy_admin or org_admin roles
5. Review API access logs for the past 30-90 days to identify potential exploitation
PATCHING GUIDANCE:
1. Upgrade LiteLLM to version 1.83.10 or later immediately when available
2. If immediate patching is not possible, implement compensating controls (see below)
3. Test patches in non-production environments before deployment
4. Coordinate patching across all LiteLLM instances to prevent lateral movement
COMPENSATING CONTROLS (if patch unavailable):
1. Implement API gateway rules to block /user/update requests containing 'role' or 'user_role' parameters
2. Use reverse proxy (nginx/Apache) to strip or reject requests modifying role fields
3. Implement strict RBAC at the application level - disable user self-service role modification entirely
4. Deploy API request validation to reject any user/update calls with role modification attempts
5. Implement IP whitelisting for administrative endpoints
DETECTION RULES:
1. Monitor for POST/PUT requests to /user/update containing 'role', 'user_role', or 'proxy_admin' parameters
2. Alert on any user account transitions to proxy_admin or org_admin roles outside of approved change windows
3. Track failed authentication attempts followed by successful /user/update calls
4. Monitor for API key generation or modification immediately following role changes
5. Implement SIEM rules: EventID for privilege escalation, source IP anomalies, and bulk user modifications
الإجراءات الفورية:
1. حدد جميع نشرات LiteLLM في بيئتك وتوثيق إصداراتها
2. قيد الوصول إلى نقطة نهاية /user/update باستخدام قواعد WAF أو تقسيم الشبكة - السماح فقط للشبكات الإدارية الموثوقة
3. تنفيذ تسجيل المصادقة لبوابة API ومراقبة محاولات تعديل الأدوار المريبة
4. تدقيق جميع حسابات المستخدمين للتحقق من تعديلات الأدوار غير المصرح بها إلى proxy_admin أو org_admin
5. مراجعة سجلات وصول API للـ 30-90 يوماً الماضية لتحديد الاستغلال المحتمل
إرشادات التصحيح:
1. ترقية LiteLLM إلى الإصدار 1.83.10 أو أحدث فوراً عند توفره
2. إذا لم يكن التصحيح الفوري ممكناً، قم بتنفيذ عناصر تحكم تعويضية
3. اختبر التصحيحات في بيئات غير الإنتاج قبل النشر
4. نسق التصحيح عبر جميع نشرات LiteLLM لمنع الحركة الجانبية
عناصر التحكم التعويضية (إذا لم يكن التصحيح متاحاً):
1. تنفيذ قواعد بوابة API لحظر طلبات /user/update التي تحتوي على معاملات 'role' أو 'user_role'
2. استخدام reverse proxy لإزالة أو رفض الطلبات التي تعدل حقول الأدوار
3. تنفيذ RBAC صارم على مستوى التطبيق - تعطيل تعديل الأدوار ذاتي الخدمة بالكامل
4. تنفيذ التحقق من صحة طلب API لرفض أي استدعاءات user/update مع محاولات تعديل الأدوار
5. تنفيذ القائمة البيضاء للعناوين IP للنقاط النهائية الإدارية
قواعد الكشف:
1. مراقبة طلبات POST/PUT إلى /user/update التي تحتوي على معاملات 'role' أو 'user_role' أو 'proxy_admin'
2. تنبيه على أي انتقالات حساب مستخدم إلى أدوار proxy_admin أو org_admin خارج نوافذ التغيير المعتمدة
3. تتبع محاولات المصادقة الفاشلة متبوعة باستدعاءات /user/update الناجحة
4. مراقبة توليد أو تعديل مفاتيح API فوراً بعد تغييرات الأدوار
5. تنفيذ قواعد SIEM: EventID لتصعيد الامتيازات وشذوذ عنوان IP والتعديلات الجماعية للمستخدمين