🇰🇷 한글 설명
Node.js의 diagnostics_channel 유틸리티를 통해 worker thread 생성 시 내부 worker 인스턴스에 접근할 수 있으며, 악의적인 목적으로 constructor를 재사용할 수 있는 취약점입니다. --permission 플래그로 Permission Model을 사용하는 환경에서만 영향을 받습니다.
💡 쉬운 설명
Node.js의 내부 작업자 생성을 감시하는 진단 도구를 통해 공격자가 내부 시스템에 접근할 수 있습니다. 권한 제한 기능을 사용하는 Node.js 서버에서 악의적인 코드 실행이 가능합니다.
🇺🇸 원문 (English)
With the aid of the diagnostics_channel utility, an event can be hooked into whenever a worker thread is created. This is not limited only to workers but also exposes internal workers, where an instance of them can be fetched, and its constructor can be grabbed and reinstated for malicious usage.
This vulnerability affects Permission Model users (--permission) on Node.js v20, v22, and v23.
📍 영향받는 시스템
Node.js v20, v22, v23 (Permission Model 사용 환경)
⚔️ 공격 벡터
diagnostics_channel 훅을 사용한 worker thread 모니터링 및 내부 인스턴스 탈취를 통한 권한 상승
🛡️ 대응 방법
Node.js를 최신 패치 버전으로 업그레이드 또는 --permission 플래그 사용 시 신뢰할 수 있는 코드만 실행
🔧 검증 코드
명령어가 v20, v22, v23 버전을 출력하면 취약한 버전입니다. 패치 버전 확인 후 latest 부 버전으로 업그레이드 필요
node --version | grep -E 'v(20|22|23)\.'