
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 は OTP フィールドなしで SID を発行します。デフォルトの otp.enabled は false です。ラボではこれを有効にしています。
| ID | CVE 未割当 |
| クラス | 2FA スキップ |
| 到達範囲 | リモート(パスワードのみ、OTP なし) |
| CWE | CWE-287, CWE-304 |
| CVSS | High: 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) | 整合性(ラボで実証済み): OTP なしの SID。ラボ: その SID でカレンダーを保存すると、証拠が保存された。 |
| Wicket のパスワードのみ(対照) | SignInDialog.processOtp | Wicket では遮断済み: OTP チャレンジが表示され、ダッシュボードには到達しない。 |
遮断済み: デフォルトの otp.enabled=false(この残存項目は有効化されたデプロイメントのもの)。LDAP 検索フィルターインジェクション(OPENMEETINGS-2808)。
cd lab
./run.sh
最終行: SUCCESS OPENMEETINGS-SOAP-OTP-SKIP-WITNESS
推奨される修正: ユーザーが TOTP シークレットを持っている場合、UserWebService.login および JAX-WS ログインで OtpManager.verify を呼び出す。OTP が有効でリクエストにコードがない場合は、フェイルクローズする。
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
ベンダー: [email protected]