🇰🇷 한글 설명
Rocket.Chat의 ddp-streamer 마이크로서비스 내 계정 서비스에서 NoSQL 인젝션 취약점이 발견되었습니다. 인증되지 않은 공격자가 사용자 이름 기반 로그인 과정에서 조작된 MongoDB 연산자를 삽입하여 의도하지 않은 사용자 레코드를 조회할 수 있습니다.
💡 쉬운 설명
로그인할 때 아이디 입력창에 특수 명령어를 넣어 데이터베이스를 속이는 공격입니다. 이를 통해 공격자가 다른 사람의 계정으로 로그인하거나 정보를 알아낼 위험이 있습니다.
🇺🇸 원문 (English)
Rocket.Chat is an open-source, secure, fully customizable communications platform. Prior to versions 7.10.8, 7.11.5, 7.12.5, 7.13.4, 8.0.2, 8.1.1, and 8.2.0, a NoSQL injection vulnerability exists in Rocket.Chat's account service used in the ddp-streamer micro service that allows unauthenticated attackers to manipulate MongoDB queries during authentication. The vulnerability is located in the username-based login flow where user-supplied input is directly embedded into a MongoDB query selector without validation. An attacker can inject MongoDB operator expressions (e.g., { $regex: '.*' }) in place of a username string, causing the database query to match unintended user records. This issue has been patched in versions 7.10.8, 7.11.5, 7.12.5, 7.13.4, 8.0.2, 8.1.1, and 8.2.0.
📍 영향받는 시스템
Rocket.Chat versions prior to 7.10.8, 7.11.5, 7.12.5, 7.13.4, 8.0.2, 8.1.1, and 8.2.0
⚔️ 공격 벡터
인증되지 않은 공격자가 로그인 시 username 필드에 MongoDB 연산자($regex 등)를 주입하여 쿼리를 조작함
🛡️ 대응 방법
패치된 버전(7.10.8, 7.11.5, 7.12.5, 7.13.4, 8.0.2, 8.1.1, 8.2.0 이상)으로 업데이트 수행
🔧 검증 코드
출력된 버전이 보안 패치가 적용된 버전 목록에 포함되어 있는지 확인합니다.
rocket.chat --version 2>/dev/null || npm list -g rocket.chat | grep -E '7.10.8|7.11.5|7.12.5|7.13.4|8.0.2|8.1.1|8.2.0'