🇰🇷 한글 설명
Node.js의 C++ 메서드 SignTraits::DeriveBits()가 백그라운드 스레드에서 실행될 때 사용자 입력에 따라 잘못된 예외 처리로 인해 프로세스 충돌을 유발할 수 있습니다. 암호화 작업이 신뢰할 수 없는 입력에 적용되므로, 공격자가 원격으로 Node.js 런타임을 의도적으로 충돌시킬 수 있습니다.
💡 쉬운 설명
Node.js의 암호화 기능에서 특정 입력값을 처리할 때 프로그램이 갑자기 종료될 수 있습니다. 악의적인 사용자가 인터넷을 통해 이를 악용하여 서버를 다운시킬 수 있습니다.
🇺🇸 원문 (English)
The C++ method SignTraits::DeriveBits() may incorrectly call ThrowException() based on user-supplied inputs when executing in a background thread, crashing the Node.js process. Such cryptographic operations are commonly applied to untrusted inputs. Thus, this mechanism potentially allows an adversary to remotely crash a Node.js runtime.
📍 영향받는 시스템
Node.js (영향 버전은 공식 보안 권고 참조 필요, 일반적으로 주요 메이저 버전 영향)
⚔️ 공격 벡터
신뢰할 수 없는 입력을 암호화 작업에 전달하여 백그라운드 스레드에서 프로세스 충돌 유발 (원격 DoS)
🛡️ 대응 방법
Node.js를 최신 보안 패치가 적용된 버전으로 즉시 업데이트
🔧 검증 코드
현재 설치된 Node.js 버전이 출력되며, 공식 Node.js 보안 공지에서 제시한 패치된 버전 이상인지 확인하여 업데이트 필요 여부 판단
node --version && npm list nodejs 2>/dev/null | head -3