🇰🇷 한글 설명
HTTP/2 프로토콜에서 원격 피어가 GOAWAY 알림 없이 소켓을 갑자기 종료하거나 nghttp2에서 잘못된 헤더를 감지하면 메모리 누수가 발생할 수 있습니다. 이는 메모리 소비 증가 및 특정 상황에서 서비스 거부로 이어질 수 있습니다.
💡 쉬운 설명
Node.js 웹서버가 인터넷 연결이 갑자기 끊어질 때 메모리를 제대로 정리하지 못해 서버가 점점 느려질 수 있습니다. 이런 상황이 반복되면 서버가 멈출 수 있습니다.
🇺🇸 원문 (English)
A memory leak could occur when a remote peer abruptly closes the socket without sending a GOAWAY notification. Additionally, if an invalid header was detected by nghttp2, causing the connection to be terminated by the peer, the same leak was triggered. This flaw could lead to increased memory consumption and potential denial of service under certain conditions.
This vulnerability affects HTTP/2 Server users on Node.js v18.x, v20.x, v22.x and v23.x.
📍 영향받는 시스템
Node.js v18.x, v20.x, v22.x, v23.x의 HTTP/2 Server
⚔️ 공격 벡터
원격 공격자가 GOAWAY 없이 HTTP/2 연결을 종료하거나 잘못된 헤더를 보내 메모리 누수 유발
🛡️ 대응 방법
Node.js를 최신 패치 버전으로 업데이트하여 메모리 누수 버그 수정
🔧 검증 코드
결과에 영향받는 Node.js 버전(v18, v20, v22, v23)이 표시되면 취약점이 있을 수 있으니 해당 버전의 최신 패치로 업그레이드 필요
node --version | grep -E 'v(18|20|22|23)\.[0-9]+'