
Apache OpenMeetings 9.1.0 - 높음 - 원격 - IDOR - dashboard 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 | 높음: 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 오라클이었음. |
종료됨: 전역/룸 내보내기는 여전히 관리자 또는 룸 중재자가 필요합니다. Kick/mute-all은 이 콜백이 아닙니다.
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]