🔍 CVE-2023-30586

7.5
CVSS Score
HIGH
2023-07-01
2026-06-17 05:55
✅ 완료

🇰🇷 한글 설명

Node.js 20의 실험적 권한 모델이 활성화된 상태에서 임의의 OpenSSL 엔진을 로드하여 권한 모델을 우회하거나 비활성화할 수 있는 권한 상승 취약점입니다. 공격자는 crypto.setEngine() API를 사용하여 호스트 프로세스의 메모리를 조작함으로써 보안 제한을 무력화할 수 있습니다.

💡 쉬운 설명

Node.js의 새로운 보안 기능이 특정 명령어를 통해 무력화될 수 있는 결함입니다. 해커가 허용되지 않은 기능을 강제로 실행하여 시스템의 보안 통제권을 뺏을 수 있습니다.

🇺🇸 원문 (English)

A privilege escalation vulnerability exists in Node.js 20 that allowed loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model. The attack complexity is high. However, the crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.

📍 영향받는 시스템

Node.js 20 (실험적 권한 모델 활성화 시)

⚔️ 공격 벡터

crypto.setEngine() API를 이용한 호스트 프로세스 메모리 조작 및 OpenSSL 엔진 로드

🛡️ 대응 방법

Node.js를 최신 보안 패치가 적용된 버전으로 업데이트하거나 실험적 권한 모델 사용 시 주의가 필요함

🔧 검증 코드

출력된 버전이 Node.js 20의 취약한 버전 범위에 해당하는지 확인

Shell / Script
node -v

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js