🇰🇷 한글 설명
Node.js의 TLS 구현에서 발생하는 Use-After-Free 취약점입니다. TLS가 활성화된 소켓에 데이터를 쓸 때 메모리 관리 오류가 발생하여 메모리 오염을 유발할 수 있습니다. 이를 통해 서비스 거부(DoS) 공격이나 추가적인 시스템 공격이 가능할 수 있습니다.
💡 쉬운 설명
프로그램이 이미 사용이 끝난 메모리 공간을 다시 사용하려고 할 때 발생하는 오류입니다. 이 허점을 이용하면 프로그램이 갑자기 멈추거나 해커가 시스템을 조작할 위험이 있습니다.
🇺🇸 원문 (English)
Node.js versions before 10.23.1, 12.20.1, 14.15.4, 15.5.1 are vulnerable to a use-after-free bug in its TLS implementation. When writing to a TLS enabled socket, node::StreamBase::Write calls node::TLSWrap::DoWrite with a freshly allocated WriteWrap object as first argument. If the DoWrite method does not return an error, this object is passed back to the caller as part of a StreamWriteResult structure. This may be exploited to corrupt memory leading to a Denial of Service or potentially other exploits.
📍 영향받는 시스템
Node.js 10.23.1 미만, 12.20.1 미만, 14.15.4 미만, 15.5.1 미만 버전
⚔️ 공격 벡터
TLS가 활성화된 소켓에 데이터를 전송하여 메모리 오염을 유도하는 방식
🛡️ 대응 방법
Node.js를 보안 패치가 적용된 최신 버전(10.23.1, 12.20.1, 14.15.4, 15.5.1 이상)으로 업데이트
🔧 검증 코드
출력된 Node.js 버전이 취약점이 해결된 버전보다 낮은지 확인