🇰🇷 한글 설명
Redis의 RESTORE 명령어가 직렬화된 값을 제대로 검증하지 않아, 인증된 공격자가 악의적인 직렬화 페이로드를 전송하여 메모리 접근 오류를 유발할 수 있습니다. 이는 원격 코드 실행으로 이어질 수 있으며, ACL 규칙으로 RESTORE 명령어 접근을 제한하면 완화할 수 있습니다.
💡 쉬운 설명
Redis의 RESTORE 명령어에서 데이터를 검증하지 않아 악의적인 데이터를 보내면 서버가 충돌하거나 공격자가 코드를 실행할 수 있습니다. Redis 버전을 8.6.3 이상으로 업그레이드하거나 RESTORE 명령어 사용을 제한하면 됩니다.
🇺🇸 원문 (English)
Redis is an in-memory data structure store. In versions of redis-server up to 8.6.3, the RESTORE command does not properly validate serialized values. An authenticated attacker with permission to execute RESTORE can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This is patched in version 8.6.3.
📍 영향받는 시스템
Redis 8.6.3 이하의 redis-server
⚔️ 공격 벡터
인증된 공격자가 RESTORE 명령어로 특수 제작된 직렬화 페이로드를 전송
🛡️ 대응 방법
Redis를 8.6.3 이상으로 업그레이드하거나 ACL 규칙으로 RESTORE 명령어 접근 제한
🔧 검증 코드
Redis 버전을 확인하여 8.6.3 미만이면 'Vulnerable', 8.6.3 이상이면 'Patched'로 출력됩니다.
redis-server --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1 | awk -F. '{v=$1*1000+$2*100+$3; print (v<8063?"Vulnerable":"Patched")}'