
Apache OpenMeetings 9.1.0 – Hoch – Remote – 2FA-Umgehung – SOAP/REST-Passwort-Anmeldung umgeht TOTP
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-soap-otp-skip
Klasse: 2FA-Umgehung Reichweite: Remote
Apache OpenMeetings 9.1.0. Wenn otp.enabled true ist, läuft TOTP nur in Wicket SignInDialog.processOtp. UserWebService.login prüft das Passwort und ruft dann sessionDao.create auf. SOAP/REST erzeugen eine SID ohne OTP-Feld. Standardmäßig ist otp.enabled false. Das Lab aktiviert es.
| ID | noch keine CVE |
| Klasse | 2FA-Umgehung |
| Reichweite | Remote (Passwort, kein OTP) |
| CWE | CWE-287, CWE-304 |
| CVSS | Hoch: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| Produkt | Apache OpenMeetings 9.1.0 mit otp.enabled=true |
| Auth | Passwort eines registrierten Benutzers |
| Lizenz | GNU Affero GPL v3.0 |
| Lab | nur 127.0.0.1:18157 |
| Methode | Sink | Berechtigung |
|---|---|---|
POST /services/user/login nur Benutzer/Passwort | UserWebService.login (UserWebService.java:135-143) | Integrität (im Lab nachgewiesen): SID ohne OTP. Lab: Kalender-Speichern mit dieser SID hat den Witness gespeichert. |
| Wicket nur Passwort (Kontrolle) | SignInDialog.processOtp | Bei Wicket geschlossen: OTP-Abfrage angezeigt, kein Dashboard. |
Geschlossen: Standard otp.enabled=false (dieser Rest ist die aktivierte Bereitstellung). LDAP-Suchfilter-Injection (OPENMEETINGS-2808).
cd lab
./run.sh
Letzte Zeile: SUCCESS OPENMEETINGS-SOAP-OTP-SKIP-WITNESS
Empfohlene Korrektur: OtpManager.verify in UserWebService.login und beim JAX-WS-Login aufrufen, wenn der Benutzer ein TOTP-Geheimnis hat. Fail closed, wenn OTP aktiviert ist und die Anfrage keinen Code enthält.
Abraxas Labs – https://abraxaslabs.tech – https://github.com/abraxas – https://x.com/abraxas_null – [email protected]
Anbieter: [email protected]