🇰🇷 한글 설명
Rocket.Chat의 getUsersOfRoom Meteor 서버 메서드에서 입력 데이터에 대한 타입 검증이 누락되어 발생하는 부적절한 접근 제어 취약점입니다. 공격자가 MongoDB 쿼리 연산자를 사용하여 rid 문자열 대신 정규식($regex)을 실행함으로써, 첫 번째 방을 제외한 다른 모든 방의 접근 권한 검사를 우회할 수 있습니다.
💡 쉬운 설명
사용자가 입력한 값이 올바른 형식인지 확인하지 않아 발생하는 보안 허점입니다. 이를 통해 공격자는 원래 볼 수 없는 채팅방의 정보를 몰래 조회할 수 있습니다.
🇺🇸 원문 (English)
An improper access control vulnerability exists in Rocket.Chat <v5, <v4.8.2 and <v4.7.5 due to input data in the getUsersOfRoom Meteor server method is not type validated, so that MongoDB query operator objects are accepted by the server, so that instead of a matching rid String a$regex query can be executed, bypassing the room access permission check for every but the first matching room.
📍 영향받는 시스템
Rocket.Chat v5 미만, v4.8.2 미만, v4.7.5 미만 버전
⚔️ 공격 벡터
getUsersOfRoom 메서드에 조작된 MongoDB 쿼리 연산자($regex)를 입력하여 권한 검사 우회
🛡️ 대응 방법
Rocket.Chat을 최신 보안 패치가 적용된 버전(v5 이상, v4.8.2 이상 또는 v4.7.5 이상)으로 업데이트
🔧 검증 코드
출력된 버전 정보가 취약점이 해결된 버전(v5.0.0+, v4.8.2+, v4.7.5+)인지 확인
curl -s http://<target-ip>:<port>/api/v1/info | grep -E 'version'