
Apache OpenMeetings 9.1.0 - Alta - Remoto - IDOR - dashboard chatTab-u{id} esporta la chat privata di un altro utente
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-chat-user-idor
Classe: IDOR Portata: Remota
Apache OpenMeetings 9.1.0 (9773c59e). Qualsiasi sessione ROOM/DASHBOARD esporta la chat privata di un altro utente impostando activeTab=chatTab-u{id}. Il ramo utente di ChatToolbar è u -> true. I pulsanti Salva/Elimina sono visibili solo agli amministratori; AjaxDownloadBehavior è registrato sulla toolbar stessa.
| ID | nessuna CVE al momento |
| Classe | IDOR |
| Portata | Remota (dashboard Wicket autenticata) |
| CWE | CWE-639 |
| CVSS | Alto: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N |
| Prodotto | Apache OpenMeetings 9.1.0 |
| Auth | LOGIN + DASHBOARD (registrazione predefinita) |
| Licenza | GNU Affero GPL v3.0 |
| Lab | solo 127.0.0.1:18151 |
| Metodo | Sink | Privilegio |
|---|---|---|
Download chat Wicket activeTab=chatTab-u{victimId} | Ramo utente di ChatToolbar u -> true (ChatToolbar.java:87-94, 134-138) | Ricognizione (dimostrata in lab): CSV dei DM. Lab: "Vic User",...,"OPENMEETINGS-CHAT-IDOR-WITNESS". |
Stesso activeTab con AjaxButton di eliminazione | chatDao.deleteUser(id) (ChatToolbar.java:208-212) | Integrità (dedotta): cancellazione di quella casella di posta. L'esportazione è stata l'oracolo di SUCCESSO. |
Escluso: l'esportazione globale/di stanza richiede ancora l'amministratore o il moderatore della stanza. Kick/mute-all non riguardano questo callback.
cd lab
./run.sh
Ultima riga: SUCCESS OPENMEETINGS-CHAT-IDOR-WITNESS
Correzione suggerita: il download/eliminazione del ramo utente deve essere u.getId().equals(getUserId()) o amministratore. Non registrare AjaxDownloadBehavior per pulsanti amministrativi nascosti.
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
Fornitore: [email protected]