English Advisory →
CVE-2019-107589.9/CRITICALCISA KEV 등재CWE-94

mongo-express 0.54.0 미만 버전 vm 모듈 오용으로 인한 원격 코드 실행(RCE) 취약점 분석 (CVE-2019-10758)

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
mongo-express
대상 컴포넌트 / 패키지
mongo-express
권고문 발행일
2019-12-24
CVSS v3.1
9.9
CRITICAL
30일 악용확률
84.7%
FIRST.org
CISA KEV
악용 확인됨

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

mongo-express 0.54.0 미만 버전을 사용하는 모든 Node.js 기반 데이터베이스 관리 환경

파급 효과

인증된 공격자가 toBSON 메서드를 호출하는 엔드포인트를 통해 샌드박스를 우회하고 호스트 OS에서 임의의 시스템 명령을 실행할 수 있음

권장 조치

mongo-express 패키지를 최신 버전(0.54.0 이상)으로 즉시 업그레이드하고, 외부 노출 차단 및 인증 체계를 강화하십시오

영향받는 제품 및 버전 범위

mongo-express 0.54.0 미만의 모든 버전 (Node.js 환경에서 실행되는 웹 콘솔 애플리케이션)

권장 패치 및 임시 완화(Workaround) 가이드

패치 및 우회 명령어

1. 공식 보안 패치 및 버전 업그레이드 명령어

가장 확실한 해결책은 취약점이 해결된 mongo-express 0.54.0 이상 버전으로 업그레이드하는 것입니다. 프로젝트의 의존성을 업데이트하려면 아래 명령어를 실행하십시오.

bash
# npm을 사용하는 경우
npm install mongo-express@0.54.0 --save

# yarn을 사용하는 경우
yarn upgrade mongo-express@0.54.0

# Docker 환경을 사용하는 경우 최신 이미지로 재빌드
docker pull mongo-express:0.54.0

2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정

즉각적인 패치가 어려운 경우, 외부망에서 mongo-express 웹 콘솔로의 접근을 원천 차단해야 합니다. Nginx 리버스 프록시를 사용하여 특정 IP 대역에서만 접근할 수 있도록 제한하십시오.

nginx
# /etc/nginx/conf.d/mongo-express.conf
server {
    listen 80;
    server_name mongo-express.local;

    location / {
        # 신뢰할 수 있는 내부 관리자 IP 대역만 허용
        allow 10.0.0.0/8;
        allow 192.168.1.0/24;
        deny all;

        proxy_pass http://127.0.0.1:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트

현재 구동 중인 mongo-express 버전을 확인하고, 웹 서버 로그에서 toBSON 호출 및 exec 관련 악성 페이로드 유입 여부를 점검하는 스크립트입니다.

bash
# 1. 설치된 mongo-express 버전 확인
npm list mongo-express

# 2. 컨테이너 환경인 경우 실행 중인 이미지 버전 확인
docker ps --filter 'ancestor=mongo-express' --format '{{.ID}}  {{.Image}}'

# 3. 웹 서버 액세스 로그에서 vm 우회 시도 및 child_process 실행 흔적 탐지
grep -Ei 'toBSON|constructor|process|exec|child_process' /var/log/nginx/access.log
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Snyk Open Source & Container Security
CISA KEV에 등재되어 실제 악용이 확인된 취약점이므로, 즉시 mongo-express를 0.54.0 이상으로 업그레이드하고 기본 관리자 계정 패스워드를 변경하십시오.

내 GitHub/GitLab 레포지토리에 이 취약한 패키지가 숨어 있는지 30초 만에 스캔하세요

간접 의존성(Transitive Dependency)에 포함된 취약점은 수동 확인이 불가능합니다. Git 연동 한 번으로 취약 버전 탐지부터 호환성을 유지하는 최소 버전 업그레이드 PR까지 자동 생성하세요.

무료 플랜 지원 · GitHub/GitLab 1클릭 연동
CI/CD 파이프라인에 자동 보안 스캐닝(SAST/SCA) 구축하는 실전 강의
커리큘럼 확인하기

취약점 발생 원리 및 공격 메커니즘

1. 취약점 개요 및 발생 원인 (Root Cause)

본 취약점은 MongoDB의 웹 기반 관리 인터페이스인 mongo-express에서 발생하는 원격 코드 실행(RCE) 취약점입니다. 취약점의 근본 원인은 사용자 입력값을 처리하는 과정에서 Node.js의 내장 vm 모듈을 안전하지 않게 오용한 데 있습니다. mongo-express는 문자열 형태의 입력을 BSON 객체로 변환하기 위해 내부적으로 toBSON 메서드를 사용합니다. 이 과정에서 입력값의 유효성 검증 없이 vm.runInNewContext와 같은 API를 통해 동적으로 코드를 실행하면서, 공격자가 제공한 악성 자바스크립트 코드가 샌드박스 환경을 탈출하여 호스트 프로세스의 컨텍스트에서 실행될 수 있는 구조적 결함이 존재합니다.

2. 공격 메커니즘 및 익스플로잇 시나리오

공격자는 mongo-express에 로그인한 상태(기본 자격증명 admin:pass가 변경되지 않은 경우가 많음)에서 toBSON 메서드를 호출하는 특정 API 엔드포인트(예: /db/<database>/collections/<collection>)로 악의적인 HTTP POST 요청을 전송합니다. 요청 본문에는 Node.js의 vm 샌드박스를 우회하기 위해 this.constructor.constructor('return process')()와 같은 프로토타입 체인 접근 기법이 포함됩니다. 이를 통해 샌드박스 내부에서 호스트의 process 객체에 접근한 뒤, child_process 모듈의 exec 함수를 호출하여 대상 서버에서 임의의 OS 명령어를 실행(RCE)하게 됩니다. 이 취약점은 개념 증명(PoC)이 대중에 공개되어 있으며, 실제 공격에 적극적으로 악용되어 CISA KEV 목록에 등재되었습니다.

3. 비즈니스 및 인프라 파급 영향

이 취약점은 CVSS 3.1 기준 9.9의 치명적인(Critical) 점수를 기록하고 있습니다. 공격자가 이 취약점을 성공적으로 악용할 경우, mongo-express 프로세스가 실행 중인 컨테이너 또는 호스트 서버의 제어권을 완전히 획득하게 됩니다. 이는 내부 데이터베이스(MongoDB)에 저장된 민감 정보의 유출, 데이터 변조 및 삭제로 이어질 수 있을 뿐만 아니라, 공격자가 내부 네트워크로 침투하기 위한 교두보(Pivot Point)로 활용될 수 있어 비즈니스 연속성에 치명적인 위협을 초래합니다.

공식 보안 권고문 및 참조 링크

자주 묻는 실무 질문 (FAQ — CVE-2019-10758)

FAQ

Q1. CVE-2019-10758 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?

CVE-2019-10758의 기본 점수는 CVSS 9.9 (CRITICAL)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 84.7%입니다. 현재 미국 CISA KEV(실제 악용이 확인된 취약점 카탈로그)에 등재되어 있으므로 최우선 긴급 패치가 필요합니다.

Q2. CVE-2019-10758에 영향을 받는 벤더와 제품은 무엇입니까?

주요 영향 벤더는 mongo-express이며, 대상 컴포넌트는 mongo-express입니다. 상세 영향 범위: mongo-express 0.54.0 미만의 모든 버전 (Node.js 환경에서 실행되는 웹 콘솔 애플리케이션)

Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?

[권장 조치] mongo-express 패키지를 최신 버전(0.54.0 이상)으로 즉시 업그레이드하고, 외부 노출 차단 및 인증 체계를 강화하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

실무자 보고서 워크벤치 연동

CVE-2019-10758 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성

클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.

보고서 초안 생성하기 →

🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (mongo-express)

동일 카테고리 전체 보기 →
SecOps Advisory Dispatch & RSS Feed

일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독

보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2019-10758 mongo-express 0.54.0 미만 버전 vm 모듈 오용으로 인한 원격 코드 실행(RCE) 취약점 분석 (CVE-2019-10758) (CVSS 9.9) - 패치 및 보안 권고 | CVE Pulse