
Apache OpenMeetings 9.1.0 - عالية - عن بُعد - تجاوز المصادقة الثنائية (2FA) - تسجيل الدخول بكلمة المرور عبر SOAP/REST يتجاوز TOTP
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-soap-otp-skip
الفئة: تجاوز المصادقة الثنائية (2FA) الوصول: عن بُعد
Apache OpenMeetings 9.1.0. عندما تكون قيمة otp.enabled مساوية لـ true، يعمل TOTP فقط في Wicket SignInDialog.processOtp. أما UserWebService.login فهي كلمة المرور ثم sessionDao.create. تُنشئ واجهات SOAP/REST معرّف جلسة (SID) دون حقل OTP. القيمة الافتراضية لـ otp.enabled هي false. يقوم المختبر بتفعيلها.
| المعرّف | لا يوجد CVE بعد |
| الفئة | تجاوز المصادقة الثنائية (2FA) |
| الوصول | عن بُعد (كلمة المرور، دون OTP) |
| CWE | CWE-287، CWE-304 |
| CVSS | عالٍ: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| المنتج | Apache OpenMeetings 9.1.0 مع otp.enabled=true |
| المصادقة | كلمة مرور مستخدم مُسجَّل |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1:18157 فقط |
| الطريقة | نقطة الوصول | الصلاحية |
|---|---|---|
POST /services/user/login باسم المستخدم/كلمة المرور فقط | UserWebService.login (UserWebService.java:135-143) | السلامة (مُثبتة في المختبر): معرّف جلسة (SID) دون OTP. المختبر: حفظ تقويم باستخدام ذلك المعرّف خزّن الشاهد. |
| Wicket بكلمة المرور فقط (ضابط) | SignInDialog.processOtp | مغلق على Wicket: يُعرض تحدّي OTP، دون لوحة تحكم. |
مغلق: القيمة الافتراضية otp.enabled=false (هذه البقايا هي النشر المُفعَّل). حقن مرشّح بحث LDAP (OPENMEETINGS-2808).
cd lab
./run.sh
السطر الأخير: SUCCESS OPENMEETINGS-SOAP-OTP-SKIP-WITNESS
الإصلاح المقترح: استدعاء OtpManager.verify في UserWebService.login وتسجيل الدخول عبر JAX-WS عندما يمتلك المستخدم سرّ TOTP. الفشل المُغلق إذا كانت OTP مُفعَّلة والطلب لا يحتوي على رمز.
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
البائع: [email protected]