🇰🇷 한글 설명
Node.js 20의 --experimental-permission 플래그로 설정한 보안 제한을 node:inspector 모듈과 Worker 클래스의 kIsInternal Symbol 변조를 통해 우회할 수 있는 취약점입니다. 공격자가 워커 생성자에서 inspector가 연결된 상태에서 isInternal 값을 조작하여 권한 검증을 우회할 수 있습니다.
💡 쉬운 설명
Node.js의 보안 제한을 특별한 방법으로 속여 우회할 수 있는 문제입니다. 악의적인 코드가 내부 시스템인 것처럼 위장하여 보안 규칙을 회피합니다.
🇺🇸 원문 (English)
A vulnerability in Node.js version 20 allows for bypassing restrictions set by the --experimental-permission flag using the built-in inspector module (node:inspector).
By exploiting the Worker class's ability to create an "internal worker" with the kIsInternal Symbol, attackers can modify the isInternal value when an inspector is attached within the Worker constructor before initializing a new WorkerImpl. This vulnerability exclusively affects Node.js users employing the permission model mechanism.
Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.
📍 영향받는 시스템
Node.js 20.x 버전 (--experimental-permission 플래그 사용자)
⚔️ 공격 벡터
node:inspector 모듈과 Worker 클래스의 kIsInternal Symbol 변조를 통한 권한 제한 우회
🛡️ 대응 방법
Node.js를 최신 패치된 버전으로 업그레이드하거나 권한 모델 기능 사용 중단
🔧 검증 코드
v20이 출력되면 해당 버전은 해당 취약점에 영향을 받을 수 있으며, 보안 업데이트 필요
node --version | grep -oE 'v[0-9]+' | grep -E 'v20'