Seerr is an open-source media request and discovery manager for Jellyfin, Plex, and Emby. A missing authorization vulnerability has been identified in the application starting in version 2.7.0 and prior to version 3.1.0. It allows authenticated users to access and modify data belonging to other users. This issue is due to the absence of the `isOwnProfileOrAdmin()` middleware on several push subscription API routes. Version 3.1.0 fixes the issue.
CVE-2026-27792 is a missing authorization vulnerability in Seerr (versions 2.7.0 to 3.0.x) that allows authenticated users to access and modify other users' data through unprotected push subscription API routes. While the CVSS score is moderate (5.4), the vulnerability enables privilege escalation and data manipulation within media management systems. Organizations using Seerr should prioritize upgrading to version 3.1.0 or implementing compensating controls immediately.
Immediate Actions:
1. Identify all instances of Seerr running versions 2.7.0 through 3.0.x in your environment
2. Restrict API access to push subscription endpoints using network-level controls (WAF/API gateway rules)
3. Implement IP whitelisting for API endpoints if possible
4. Review access logs for unauthorized API calls to /api/v1/user/*/pushSubscriptions endpoints
Patching Guidance:
1. Upgrade Seerr to version 3.1.0 or later immediately
2. Test the upgrade in a staging environment first
3. Verify that the isOwnProfileOrAdmin() middleware is properly enforced post-upgrade
Compensating Controls (if immediate patching not possible):
1. Implement reverse proxy authentication requiring additional verification for API calls
2. Deploy API gateway rules to block cross-user data access patterns
3. Enable detailed API logging and alerting for suspicious push subscription modifications
4. Restrict Seerr access to trusted internal networks only
Detection Rules:
1. Monitor for API requests to /api/v1/user/{userId}/pushSubscriptions where userId differs from authenticated user
2. Alert on multiple failed authorization attempts to subscription endpoints
3. Track modifications to push subscription settings by non-owner accounts
4. Log all API calls to subscription endpoints with user context for forensic analysis
الإجراءات الفورية:
1. تحديد جميع نسخ Seerr التي تعمل بالإصدارات 2.7.0 إلى 3.0.x في بيئتك
2. تقييد الوصول إلى API لنقاط نهاية الاشتراك في الدفع باستخدام عناصر التحكم على مستوى الشبكة (قواعد WAF/بوابة API)
3. تطبيق القائمة البيضاء للعناوين IP لنقاط نهاية API إن أمكن
4. مراجعة سجلات الوصول للاتصالات غير المصرح بها بنقاط نهاية /api/v1/user/*/pushSubscriptions
إرشادات التصحيح:
1. ترقية Seerr إلى الإصدار 3.1.0 أو أحدث فوراً
2. اختبار الترقية في بيئة التجريب أولاً
3. التحقق من أن middleware isOwnProfileOrAdmin() مفروضة بشكل صحيح بعد الترقية
الضوابط التعويضية (إذا لم يكن التصحيح الفوري ممكناً):
1. تطبيق مصادقة reverse proxy تتطلب تحقق إضافي لاستدعاءات API
2. نشر قواعد بوابة API لحظر أنماط الوصول إلى البيانات عبر المستخدمين
3. تفعيل تسجيل التنبيهات التفصيلية لـ API للتعديلات المريبة على الاشتراك في الدفع
4. تقييد الوصول إلى Seerr للشبكات الداخلية الموثوقة فقط
قواعد الكشف:
1. مراقبة طلبات API إلى /api/v1/user/{userId}/pushSubscriptions حيث يختلف userId عن المستخدم المصرح
2. التنبيه على محاولات التفويض الفاشلة المتعددة لنقاط نهاية الاشتراك
3. تتبع التعديلات على إعدادات الاشتراك في الدفع بواسطة حسابات غير المالك
4. تسجيل جميع استدعاءات API لنقاط نهاية الاشتراك مع سياق المستخدم للتحليل الجنائي