🇰🇷 한글 설명
engine.io-client 1.6.8 및 이전 버전에서 Node.js의 rejectUnauthorized 설정 처리 방식과 관련된 취약점입니다. 설정값이 명시적으로 지정되지 않을 경우 null로 전달되어 SSL/TLS 인증서 검증이 비활성화될 수 있습니다. 이로 인해 중간자 공격(MITM)에 노출될 위험이 있습니다.
💡 쉬운 설명
인터넷 연결 시 상대방이 진짜인지 확인하는 '신분증 검사' 기능이 실수로 꺼질 수 있는 문제입니다. 이로 인해 해커가 중간에서 데이터를 가로채거나 조작할 수 있습니다.
🇺🇸 원문 (English)
engine.io-client is the client for engine.io, the implementation of a transport-based cross-browser/cross-device bi-directional communication layer for Socket.IO. The vulnerability is related to the way that node.js handles the `rejectUnauthorized` setting. If the value is something that evaluates to false, certificate verification will be disabled. This is problematic as engine.io-client 1.6.8 and earlier passes in an object for settings that includes the rejectUnauthorized property, whether it has been set or not. If the value has not been explicitly changed, it will be passed in as `null`, resulting in certificate verification being turned off.
📍 영향받는 시스템
engine.io-client 1.6.8 및 그 이전 버전
⚔️ 공격 벡터
중간자 공격(Man-in-the-Middle)을 통한 통신 데이터 탈취 및 변조
🛡️ 대응 방법
engine.io-client를 최신 버전으로 업데이트하여 인증서 검증 설정이 올바르게 동작하도록 수정합니다.
🔧 검증 코드
출력된 결과에서 engine.io-client의 버전이 1.6.8 이하인지 확인합니다.
npm list engine.io-client