
Apache OpenMeetings 9.1.0 - 高 - リモート - IDOR - ダッシュボード chatTab-u{id} が他のユーザーのプライベートチャットをエクスポートする
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-chat-user-idor
クラス: IDOR 到達範囲: リモート
Apache OpenMeetings 9.1.0 (9773c59e)。任意の ROOM/DASHBOARD セッションが activeTab=chatTab-u{id} を設定することで、別ユーザーのプライベートチャットをエクスポートできます。ChatToolbar のユーザーブランチは u -> true です。保存/削除のボタンは管理者のみ表示されますが、AjaxDownloadBehavior はツールバー自体に登録されています。
| ID | CVE 未割当 |
| クラス | IDOR |
| 到達範囲 | リモート(認証済み Wicket ダッシュボード) |
| CWE | CWE-639 |
| CVSS | High: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N |
| 製品 | Apache OpenMeetings 9.1.0 |
| 認証 | LOGIN + DASHBOARD(デフォルト登録) |
| ライセンス | GNU Affero GPL v3.0 |
| ラボ | 127.0.0.1:18151 のみ |
| 手法 | シンク | 権限 |
|---|---|---|
Wicket チャットダウンロード activeTab=chatTab-u{victimId} | ChatToolbar のユーザーブランチ u -> true (ChatToolbar.java:87-94, 134-138) | 偵察(ラボで実証済み): DM の CSV。ラボ: "Vic User",...,"OPENMEETINGS-CHAT-IDOR-WITNESS"。 |
同じ activeTab による削除 AjaxButton | chatDao.deleteUser(id) (ChatToolbar.java:208-212) | 完全性(推測): その受信トレイを消去。エクスポートが SUCCESS のオラクルでした。 |
対象外: グローバル/ルームのエクスポートは依然として管理者またはルームモデレーターが必要です。キック/全員ミュートはこのコールバックではありません。
cd lab
./run.sh
最終行: SUCCESS OPENMEETINGS-CHAT-IDOR-WITNESS
推奨される修正: ユーザーブランチのダウンロード/削除は u.getId().equals(getUserId()) または管理者である必要があります。非表示の管理者ボタンに対して AjaxDownloadBehavior を登録しないでください。
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
ベンダー: [email protected]