🔍 CVE-2026-44002

5.8
CVSS Score
MEDIUM
2026-05-13
2026-10-26 17:10
✅ 완료

🇰🇷 한글 설명

vm2는 Node.js용 오픈소스 가상머신/샌드박스이며, 3.11.0 이전 버전의 CallSite 래퍼 클래스는 getFileName()을 통해 호스트의 절대 경로를 검증 없이 반환하여 샌드박스 코드가 호스트 서버의 디렉토리 구조, 라이브러리 경로, 프레임워크 버전을 추출할 수 있습니다. 3.11.0에서 수정되었습니다.

💡 쉬운 설명

vm2는 Node.js 코드를 안전하게 실행하는 샌드박스인데, 3.11.0 이전에는 공격자가 파일 경로 함수를 악용하여 서버의 폴더 구조를 알아낼 수 있었습니다. 이 정보로 서버의 소프트웨어 구성을 파악하면 더 정교한 공격을 설계하는 데 활용될 수 있습니다.

🇺🇸 원문 (English)

vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, vm2's CallSite wrapper class (intended as a safe wrapper for V8's native CallSite) blocks getThis() and getFunction() to prevent host object leakage, but allows getFileName() to return unsanitized host absolute paths. Any sandboxed code can extract the full directory structure, library paths, and framework versions of the host server. This vulnerability is fixed in 3.11.0.

📍 영향받는 시스템

vm2 < 3.11.0 (Node.js 환경)

⚔️ 공격 벡터

샌드박스된 악성 코드에서 CallSite.getFileName()을 호출하여 호스트의 절대 경로 정보 추출

🛡️ 대응 방법

vm2를 3.11.0 이상으로 즉시 업그레이드 (npm update vm2 또는 package.json 수정)

🔧 검증 코드

출력에서 vm2 버전이 3.11.0 이상이면 안전, 미만이면 업그레이드 필요

Shell / Script
npm list vm2 2>/dev/null | grep -E 'vm2@|^─'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js