🇰🇷 한글 설명
redis-parser 3.0.0 이하 버전에서 RESP 프로토콜의 multi-bulk 길이 값을 검증하지 못하는 취약점이 발견되었습니다. 공격자가 2^32-1을 초과하는 과도하게 큰 길이를 포함한 RESP 헤더를 전송할 경우, Node.js 클라이언트 프로세스에서 처리되지 않은 RangeError가 발생하여 서비스가 중단될 수 있습니다.
💡 쉬운 설명
데이터의 크기를 알려주는 숫자가 너무 커서 컴퓨터가 감당하지 못해 프로그램이 갑자기 꺼지는 문제입니다. 해커가 조작된 데이터를 보내면 서버를 멈추게 할 수 있습니다.
🇺🇸 원문 (English)
redis-parser through 3.0.0 fails to validate the multi-bulk length value in RESP protocol parsing, allowing attackers to trigger an uncaught RangeError by supplying an excessively large declared length. A malicious or compromised Redis endpoint can deliver a crafted RESP header with a length above 2^32-1 to crash the Node.js client process.
📍 영향받는 시스템
redis-parser 3.0.0 이하 모든 버전
⚔️ 공격 벡터
악의적으로 조작된 RESP 헤더를 포함한 데이터를 Redis 엔드포인트를 통해 전송
🛡️ 대응 방법
redis-parser를 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 결과에서 redis-parser의 버전을 확인하여 3.0.0 이하인지 체크