
Apache OpenMeetings 9.1.0 – Hoch – Remote – IDOR – dashboard chatTab-u{id} exportiert die privaten Chats anderer Benutzer
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-chat-user-idor
Klasse: IDOR Reichweite: Remote
Apache OpenMeetings 9.1.0 (9773c59e). Jede ROOM/DASHBOARD-Sitzung exportiert den privaten Chat eines anderen Benutzers, indem activeTab=chatTab-u{id} gesetzt wird. Der Benutzerzweig von ChatToolbar ist u -> true. Die Schaltflächen zum Speichern/Löschen sind nur für Administratoren sichtbar; AjaxDownloadBehavior ist an der Toolbar selbst registriert.
| ID | noch keine CVE |
| Klasse | IDOR |
| Reichweite | Remote (authentifiziertes Wicket-Dashboard) |
| CWE | CWE-639 |
| CVSS | Hoch: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N |
| Produkt | Apache OpenMeetings 9.1.0 |
| Auth | LOGIN + DASHBOARD (Standardregistrierung) |
| Lizenz | GNU Affero GPL v3.0 |
| Lab | nur 127.0.0.1:18151 |
| Methode | Sink | Berechtigung |
|---|---|---|
Wicket-Chat-Download activeTab=chatTab-u{victimId} | Benutzerzweig von ChatToolbar u -> true (ChatToolbar.java:87-94, 134-138) | Recon (im Lab nachgewiesen): CSV der DMs. Lab: "Vic User",...,"OPENMEETINGS-CHAT-IDOR-WITNESS". |
Gleiches activeTab-Löschen AjaxButton | chatDao.deleteUser(id) (ChatToolbar.java:208-212) | Integrität (abgeleitet): diesen Posteingang löschen. Der Export war das SUCCESS-Orakel. |
Geschlossen: globaler/Raum-Export benötigt weiterhin Administrator- oder Raum-Moderator-Rechte. Kick/mute-all sind nicht dieser Callback.
cd lab
./run.sh
Letzte Zeile: SUCCESS OPENMEETINGS-CHAT-IDOR-WITNESS
Empfohlene Korrektur: Download/Löschen im Benutzerzweig muss u.getId().equals(getUserId()) oder Administrator sein. AjaxDownloadBehavior nicht für versteckte Admin-Schaltflächen registrieren.
Abraxas Labs – https://abraxaslabs.tech – https://github.com/abraxas – https://x.com/abraxas_null – [email protected]
Anbieter: [email protected]