🇰🇷 한글 설명
Engine.IO는 Socket.IO의 양방향 통신 계층을 구현한 라이브러리입니다. 특수하게 제작된 HTTP 요청을 통해 Engine.IO 서버에서 처리되지 않은 예외를 발생시켜 Node.js 프로세스를 강제로 종료할 수 있는 취약점이 발견되었습니다.
💡 쉬운 설명
해커가 특수한 요청을 보내면 웹 서버 프로그램이 갑자기 꺼져버리는 문제입니다. 이로 인해 서비스가 중단되어 사용자들이 접속할 수 없게 됩니다.
🇺🇸 원문 (English)
Engine.IO is the implementation of transport-based cross-browser/cross-device bi-directional communication layer for Socket.IO. A specially crafted HTTP request can trigger an uncaught exception on the Engine.IO server, thus killing the Node.js process. This impacts all the users of the `engine.io` package starting from version `4.0.0`, including those who uses depending packages like `socket.io`. Versions prior to `4.0.0` are not impacted. A fix has been released for each major branch, namely `4.1.2` for the `4.x.x` branch, `5.2.1` for the `5.x.x` branch, and `6.1.1` for the `6.x.x` branch. There is no known workaround except upgrading to a safe version.
📍 영향받는 시스템
engine.io 4.0.0 이상의 모든 버전 (socket.io 사용자 포함)
⚔️ 공격 벡터
특수하게 조작된 HTTP 요청을 서버로 전송
🛡️ 대응 방법
안전한 버전(4.1.2, 5.2.1, 6.1.1 이상)으로 업데이트
🔧 검증 코드
출력된 engine.io의 버전이 취약한 버전 범위(4.0.0 이상 및 패치 버전 미만)에 해당하는지 확인