🇰🇷 한글 설명
Redis에서 인증된 사용자가 특수하게 제작된 SETRANGE 및 SORT(_RO) 명령을 실행할 경우 정수 오버플로가 발생할 수 있습니다. 이로 인해 Redis가 불가능한 양의 메모리를 할당하려고 시도하게 되어 메모리 부족(OOM) 패닉과 함께 서비스가 중단됩니다.
💡 쉬운 설명
로그인 권한이 있는 사용자가 특정 명령어를 잘못 사용하여 컴퓨터의 메모리를 과도하게 사용하게 만드는 공격입니다. 이 공격이 성공하면 데이터베이스가 갑자기 멈춰버려 서비스를 이용할 수 없게 됩니다.
🇺🇸 원문 (English)
Redis is an in-memory database that persists on disk. Authenticated users issuing specially crafted `SETRANGE` and `SORT(_RO)` commands can trigger an integer overflow, resulting with Redis attempting to allocate impossible amounts of memory and abort with an out-of-memory (OOM) panic. The problem is fixed in Redis versions 7.0.8, 6.2.9 and 6.0.17. Users are advised to upgrade. There are no known workarounds for this vulnerability.
📍 영향받는 시스템
Redis 7.0.8 미만, 6.2.9 미만, 6.0.17 미만 버전
⚔️ 공격 벡터
인증된 사용자가 특수하게 조작된 SETRANGE 또는 SORT(_RO) 명령어를 전송하여 정수 오버플로 유발
🛡️ 대응 방법
Redis를 최신 보안 패치가 적용된 버전(7.0.8, 6.2.9, 6.0.17 이상)으로 업그레이드
🔧 검증 코드
명령어 실행 결과에 패치된 버전 번호가 나타나면 안전하며, 그렇지 않으면 취약할 수 있습니다.
redis-server --version | grep -E 'v(7\.0\.[8-9]|[7-9]\.)|v6\.(2\.9|0\.17)'