🔍 CVE-2026-93604

7.2
CVSS Score
HIGH
2026-09-18
2026-09-18 14:19
✅ 완료

🇰🇷 한글 설명

vm2 3.12.0 이하 버전에서 Node.js의 crypto.setFips() 함수가 신뢰할 수 없는 게스트 코드에 노출되는 취약점이 발견되었습니다. 공격자는 이를 통해 호스트 프로세스의 FIPS 모드를 변경하여 NodeVM의 격리 경계를 무너뜨릴 수 있습니다.

💡 쉬운 설명

샌드박스라는 안전한 가상 공간에서 실행되는 코드가 실제 컴퓨터의 보안 설정(FIPS 모드)을 마음대로 바꿀 수 있는 문제입니다. 이로 인해 격리된 환경의 보안이 무력화될 수 있습니다.

🇺🇸 원문 (English)

vm2 through 3.12.0 exposes Node.js's crypto.setFips() function to untrusted guest code when an embedder explicitly allowlists the crypto builtin for a NodeVM (require.builtin: ['crypto']). The builtin sanitizer (sanitizeCryptoModule in lib/builtin.js) replaces crypto.setEngine but leaves crypto.setFips callable, and the readonly wrapper used to expose the host module does not localize side effects of forwarded host functions. Guest code can therefore call crypto.setFips() to change the FIPS mode of the entire host process; the modified mode is subsequently observed by trusted host code (crypto.getFips() changed from 0 to 1 in the reported test), crossing the NodeVM isolation boundary. Fixed in vm2 3.12.1.

📍 영향받는 시스템

vm2 versions 2 through 3.12.0

⚔️ 공격 벡터

신뢰할 수 없는 게스트 코드가 노출된 crypto.setFips() 함수를 호출하여 호스트의 보안 모드를 변경함

🛡️ 대응 방법

vm2 버전을 3.12.1 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 vm2의 버전이 3.12.1보다 낮으면 취약한 상태입니다.

Shell / Script
npm list vm2

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js