A vulnerability was detected in funadmin up to 7.1.0-rc4. This issue affects the function getMember of the file app/common/service/AuthCloudService.php of the component Backend Endpoint. The manipulation of the argument cloud_account results in deserialization. The attack may be performed from remote. The exploit is now public and may be used. The vendor was contacted early about this disclosure but did not respond in any way.
CVE-2026-2898 is a remote code execution vulnerability in FunAdmin up to version 7.1.0-rc4 caused by unsafe deserialization in the AuthCloudService component. An attacker can manipulate the 'cloud_account' parameter to execute arbitrary code on affected systems. With public exploits available and no vendor patch forthcoming, this poses an immediate threat to organizations using FunAdmin for backend authentication services.
IMMEDIATE ACTIONS:
1. Identify all systems running FunAdmin versions up to 7.1.0-rc4 across your infrastructure
2. Isolate affected systems from production networks if possible, or implement network segmentation
3. Disable or restrict access to the getMember endpoint in AuthCloudService.php
4. Monitor authentication logs for suspicious cloud_account parameter values
COMPENSATING CONTROLS (until patch available):
5. Implement Web Application Firewall (WAF) rules to block requests with serialized PHP objects in cloud_account parameter
6. Add input validation to reject any cloud_account values containing 'O:' or other serialization markers
7. Implement strict rate limiting on authentication endpoints
8. Enable comprehensive logging and alerting on deserialization attempts
DETECTION RULES:
- Monitor for POST requests to AuthCloudService endpoints with base64-encoded or serialized data in cloud_account parameter
- Alert on PHP object instantiation patterns in authentication logs
- Track unusual process execution from PHP-FPM or web server processes
LONG-TERM:
9. Evaluate alternative authentication solutions or FunAdmin forks with security patches
10. Plan migration away from FunAdmin if vendor remains unresponsive
الإجراءات الفورية:
1. تحديد جميع الأنظمة التي تعمل بإصدارات FunAdmin حتى 7.1.0-rc4 عبر البنية التحتية
2. عزل الأنظمة المتأثرة عن شبكات الإنتاج إن أمكن، أو تطبيق تقسيم الشبكة
3. تعطيل أو تقييد الوصول إلى نقطة نهاية getMember في AuthCloudService.php
4. مراقبة سجلات المصادقة للقيم المريبة في معامل cloud_account
الضوابط التعويضية (حتى توفر التصحيح):
5. تطبيق قواعد جدار حماية تطبيقات الويب لحجب الطلبات التي تحتوي على كائنات PHP المسلسلة في معامل cloud_account
6. إضافة التحقق من صحة الإدخال لرفض أي قيم cloud_account تحتوي على 'O:' أو علامات تسلسل أخرى
7. تطبيق تحديد معدل صارم على نقاط نهاية المصادقة
8. تفعيل التسجيل الشامل والتنبيهات على محاولات فك التسلسل
قواعد الكشف:
- مراقبة طلبات POST إلى نقاط نهاية AuthCloudService ببيانات مشفرة بـ base64 أو مسلسلة في معامل cloud_account
- التنبيه على أنماط إنشاء كائنات PHP في سجلات المصادقة
- تتبع تنفيذ العمليات غير المعتادة من عمليات PHP-FPM أو خادم الويب
المدى الطويل:
9. تقييم حلول المصادقة البديلة أو فروع FunAdmin مع تصحيحات الأمان
10. التخطيط للهجرة بعيداً عن FunAdmin إذا ظل البائع غير مستجيب