🇰🇷 한글 설명
인증된 사용자가 $_internalJsEmit 또는 mapreduce의 map 함수를 특정 방식으로 호출한 뒤, 서버 측 JavaScript 엔진($where, $function, mapreduce reduce 단계 등)을 특정 방식으로 사용하면 mongod 프로세스가 충돌할 수 있습니다. 이로 인해 인증 이후 서비스 거부(DoS)가 발생합니다. 영향 버전은 MongoDB Server 8.2.9 미만 및 8.3.2 미만입니다.
💡 쉬운 설명
로그인한 사용자가 데이터베이스의 내부 자바스크립트 기능을 특정 방식으로 악용하면 데이터베이스 서버가 멈출 수 있습니다. 이 문제로 서비스가 중단될 수 있으므로 버전을 업데이트해야 합니다.
🇺🇸 원문 (English)
After invoking $_internalJsEmit, which is not intended to be directly accessible, or mapreduce command’s map function in a certain way, an authenticated user can subsequently crash mongod when the server-side JavaScript engine (through $where, $function, mapreduce reduce stage, etc.) is used also in a specific way, resulting in a post-authentication denial-of-service.
This issue impacts MongoDB Server v8.2 versions prior to 8.2.9 and v8.3 versions prior to 8.3.2.
📍 영향받는 시스템
MongoDB Server 8.2 (8.2.9 미만) 및 8.3 (8.3.2 미만)
⚔️ 공격 벡터
인증된 사용자가 내부 JavaScript 엔진 호출 경로를 악용해 mongod를 충돌시키는 인증 후 DoS 공격
🛡️ 대응 방법
MongoDB Server를 8.2.9 이상 또는 8.3.2 이상으로 업그레이드하고, 사용자 권한을 최소화합니다.
🔧 검증 코드
출력된 버전이 8.2.9 이상 또는 8.3.2 이상이면 패치가 적용된 것이며, 그보다 낮은 8.2.x 또는 8.3.x 버전이면 취약한 상태입니다.
mongod --version 2>/dev/null | head -n 1