WWBN AVideo is an open source video platform. In versions up to and including 26.0, the `createKeys()` function in the LoginControl plugin's PGP 2FA system generates 512-bit RSA keys, which have been publicly factorable since 1999. An attacker who obtains a target user's public key can factor the 512-bit RSA modulus on commodity hardware in hours, derive the complete private key, and decrypt any PGP 2FA challenge issued by the system — completely bypassing the second authentication factor. Additionally, the `generateKeys.json.php` and `encryptMessage.json.php` endpoints lack any authentication checks, exposing CPU-intensive key generation to anonymous users. Commit 00d979d87f8182095c8150609153a43f834e351e contains a patch.
WWBN AVideo versions up to 26.0 use cryptographically broken 512-bit RSA keys in their PGP 2FA system, allowing attackers to factor the keys on commodity hardware within hours and completely bypass two-factor authentication. Unauthenticated endpoints also expose CPU-intensive operations to denial-of-service attacks. This is a critical authentication bypass affecting any organization using AVideo for secure video content delivery or internal communications.
IMMEDIATE ACTIONS:
1. Upgrade WWBN AVideo to version 26.1 or later (commit 00d979d87f8182095c8150609153a43f834e351e or newer)
2. Disable PGP 2FA functionality until patched
3. Force password reset for all users with 2FA enabled
4. Review access logs for suspicious authentication patterns (multiple failed 2FA attempts, unusual geographic logins)
5. Restrict network access to generateKeys.json.php and encryptMessage.json.php endpoints via WAF/firewall rules
PATCHING GUIDANCE:
- Apply patch from commit 00d979d87f8182095c8150609153a43f834e351e
- Verify RSA key generation uses minimum 2048-bit keys (4096-bit recommended)
- Implement authentication checks on all key generation endpoints
COMPENSATING CONTROLS (if immediate patching impossible):
- Disable 2FA feature entirely until patched
- Implement IP whitelisting for generateKeys.json.php and encryptMessage.json.php
- Deploy rate limiting (max 5 requests/minute per IP) on cryptographic endpoints
- Monitor CPU usage spikes indicating key generation attacks
DETECTION RULES:
- Alert on multiple requests to generateKeys.json.php or encryptMessage.json.php from same IP
- Flag 2FA bypass attempts (successful login immediately after failed 2FA)
- Monitor for RSA key exports or public key access patterns
- Log all access to /LoginControl plugin endpoints
الإجراءات الفورية:
1. ترقية WWBN AVideo إلى الإصدار 26.1 أو أحدث (commit 00d979d87f8182095c8150609153a43f834e351e أو أحدث)
2. تعطيل وظيفة PGP 2FA حتى يتم إصلاحها
3. فرض إعادة تعيين كلمة المرور لجميع المستخدمين الذين لديهم 2FA مفعل
4. مراجعة سجلات الوصول للأنماط المريبة (محاولات 2FA الفاشلة المتعددة، عمليات تسجيل دخول جغرافية غير عادية)
5. تقييد الوصول إلى نقاط نهاية generateKeys.json.php و encryptMessage.json.php عبر قواعد WAF/جدار الحماية
إرشادات التصحيح:
- تطبيق الإصلاح من commit 00d979d87f8182095c8150609153a43f834e351e
- التحقق من أن توليد مفاتيح RSA يستخدم مفاتيح بحد أدنى 2048 بت (4096 بت موصى به)
- تنفيذ فحوصات المصادقة على جميع نقاط نهاية توليد المفاتيح
الضوابط البديلة (إذا كان التصحيح الفوري مستحيلاً):
- تعطيل ميزة 2FA بالكامل حتى يتم إصلاحها
- تنفيذ قائمة بيضاء IP لـ generateKeys.json.php و encryptMessage.json.php
- نشر تحديد معدل (5 طلبات كحد أقصى/دقيقة لكل IP) على نقاط نهاية التشفير
- مراقبة ارتفاعات استخدام CPU التي تشير إلى هجمات توليد المفاتيح
قواعد الكشف:
- تنبيه عند طلبات متعددة إلى generateKeys.json.php أو encryptMessage.json.php من نفس IP
- وضع علم على محاولات تجاوز 2FA (تسجيل دخول ناجح فوراً بعد فشل 2FA)
- مراقبة أنماط تصدير مفاتيح RSA أو الوصول إلى المفاتيح العامة
- تسجيل جميع الوصول إلى نقاط نهاية /LoginControl plugin