Rocket.Chat은 오픈 소스의 안전하고 완벽하게 사용자 정의 가능한 커뮤니케이션 플랫폼입니다. 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7 및 7.10.11 이전에는 Rocket.Chat의 CAS 로그인 처리기가 런타임 유형 확인 없이 클라이언트 제공 options.cas.credentialToken 값을 MongoDB findOne({_id: ...}) 쿼리로 직접 전달합니다. TypeScript의 문자열 매개변수 주석은 런타임 시 지워지므로 인증되지 않은 공격자가 MongoDB 쿼리 연산자({"$gt": ""}, {"$ne": null} 등)를 대체할 수 있습니다.
Rocket.Chat은 오픈 소스의 안전하고 완벽하게 사용자 정의 가능한 커뮤니케이션 플랫폼입니다. 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7 및 7.10.11 이전에는 Rocket.Chat의 CAS 로그인 처리기가 런타임 유형 확인 없이 클라이언트 제공 options.cas.credentialToken 값을 MongoDB findOne({_id: ...}) 쿼리로 직접 전달합니다. TypeScript의 문자열 매개변수 주석은 런타임 시 지워지므로 인증되지 않은 공격자는 서버에서 예상하는 불투명 티켓 문자열을 MongoDB 쿼리 연산자({"$gt": ""}, {"$ne": null} 등)로 대체할 수 있습니다. 삽입된 연산자는 CAS 티켓 확인을 완전히 우회하여 credential_tokens 컬렉션의 만료되지 않은 첫 번째 문서와 일치합니다. 합법적인 CAS 또는 SAML SSO 로그인이 진행 중인 경우 공격자의 다음 DDP 로그인 호출은 NoSQL 연산자를 통해 동일한 자격 증명 토큰 행과 일치하고 피해자에게 바인딩된 전체 Meteor 인증 토큰(userId + 토큰)이 발급됩니다. 토큰은 해당 사용자로서 전체 REST 및 DDP 표면에 대해 즉시 사용할 수 있습니다. 피해자가 관리자인 경우 Apps-Engine 앱 설치를 통해 전체 인스턴스 손상으로 확대됩니다. 이 취약점은 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7 및 7.10.11에서 해결되었습니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 91.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 91.00 |
VPI 공식 vpi-v1 기준