🇰🇷 한글 설명
Node.js의 TLS 오류 처리 결함으로 인해 pskCallback 또는 ALPNCallback 사용 시 원격 공격자가 서버를 중단시키거나 자원을 고갈시킬 수 있습니다. 콜백 과정에서 발생하는 동기식 예외가 표준 오류 처리 경로를 우회하여 프로세스 종료 또는 파일 디스크립터 누수를 유발하며, 이는 서비스 거부(DoS)로 이어집니다.
💡 쉬운 설명
Node.js 서버가 보안 연결을 설정하는 과정에서 특정 기능을 사용할 때 발생하는 오류를 제대로 처리하지 못하는 문제입니다. 공격자가 특수한 요청을 반복해서 보내면 서버가 갑자기 꺼지거나 멈춰버릴 수 있습니다.
🇺🇸 원문 (English)
A flaw in Node.js TLS error handling allows remote attackers to crash or exhaust resources of a TLS server when `pskCallback` or `ALPNCallback` are in use. Synchronous exceptions thrown during these callbacks bypass standard TLS error handling paths (tlsClientError and error), causing either immediate process termination or silent file descriptor leaks that eventually lead to denial of service. Because these callbacks process attacker-controlled input during the TLS handshake, a remote client can repeatedly trigger the issue. This vulnerability affects TLS servers using PSK or ALPN callbacks across Node.js versions where these callbacks throw without being safely wrapped.
📍 영향받는 시스템
pskCallback 또는 ALPNCallback을 사용하는 Node.js TLS 서버 (취약한 버전)
⚔️ 공격 벡터
TLS 핸드셰이크 과정에서 공격자가 제어하는 입력을 통해 콜백 함수 내에서 예외를 유발하는 원격 공격
🛡️ 대응 방법
Node.js를 최신 보안 패치가 적용된 버전으로 업데이트하거나, 콜백 함수 내에 예외 처리를 위한 try-catch 블록을 추가합니다.
🔧 검증 코드
출력된 Node.js 버전을 확인하여 취약점이 해결된 최신 버전인지 확인합니다.