🔍 CVE-2026-65645

4.3
CVSS Score
MEDIUM
2026-08-21
2026-09-04 18:27
✅ 완료

🇰🇷 한글 설명

Rocket.Chat의 특정 버전에서 Meteor DDP 메서드인 getThreadsList 및 getThreadMessages가 입력값에 대한 스키마 검증을 수행하지 않아 발생하는 취약점입니다. 공격자가 room-id 또는 message-id 대신 MongoDB 연산자 객체를 주입함으로써, 권한이 없는 다른 사용자의 비공개 스레드 및 메시지 내용을 탈취할 수 있습니다.

💡 쉬운 설명

채팅 프로그램의 데이터 요청 과정에서 입력값이 올바른 형식인지 확인하지 않는 허점이 발견되었습니다. 이를 통해 공격자는 자신이 볼 권한이 없는 다른 사람의 비밀 대화 내용을 몰래 훔쳐볼 수 있습니다.

🇺🇸 원문 (English)

Rocket.Chat in versions before 8.8.0, 8.7.1, 8.6.2, 8.5.3, 8.4.6. 8.3.8, 8.2.8, 8.1.8, and 7.10.15, the Meteor DDP methods getThreadsList and getThreadMessages accept rid / tmid as raw, untyped parameters with no schema validation. A MongoDB operator object (e.g. {"$gt": "4"}) can be substituted for a string room-id or message-id. The authorization check resolves to a room the attacker already has access to, while the downstream data query fans out across all rooms - disclosing private thread parents and their full reply content to any low-privilege authenticated user. The REST route chat.getThreadsList was patched in v5.0 (HackerOne report #1446767) by adding rid: {type:'string'} AJV validation. The equivalent DDP method was never given the same fix and remains exploitable

📍 영향받는 시스템

Rocket.Chat versions before 8.8.0, 8.7.1, 8.6.2, 8.5.3, 8.4.6, 8.3.8, 8.2.8, 8.1.8, and 7.10.15

⚔️ 공격 벡터

DDP 메서드에 MongoDB 연산자 객체를 주입하여 데이터베이스 쿼리를 조작하는 방식

🛡️ 대응 방법

취약점이 해결된 최신 버전(8.8.0, 8.7.1 등)으로 즉시 업데이트하십시오.

🔧 검증 코드

명령어 결과에 패치된 버전이 나타나지 않으면 취약한 버전이 설치되어 있을 가능성이 높습니다.

Shell / Script
npm list -g rocketchat-community | grep -E '8.8.0|8.7.1|8.6.2|8.5.3|8.4.6|8.3.8|8.2.8|8.1.8|7.10.15'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

Spring Data MongoDB