우분투에서 해결된 여러 Redis 취약점
Redis는 오픈소스 인메모리 데이터 구조 저장소로, 흔히 키-값 저장소라고도 합니다. 데이터베이스, 캐시, 메시지 브로커로 사용됩니다. Redis는 문자열, 해시, 목록, 집합, 정렬된 집합, 비트맵, 하이퍼로그, 지리적 공간 인덱스 등 다양한 데이터 구조를 지원하므로 활용도가 매우 높습니다. 하지만 다른 소프트웨어와 마찬가지로 Redis도 취약점으로부터 자유롭지 않습니다. 최근 Debian 및 Ubuntu 시스템에서 몇 가지 Redis 취약점이 수정되어 사용자에게 잠재적인 위험을 초래할 수 있습니다.
이 글에서는 이러한 취약점을 자세히 살펴보고 그 의미를 이해하며 취약점을 완화하기 위해 제공되는 솔루션을 살펴봅니다.
Redis 보안 취약점
CVE-2022-24834
세이야 나카타와 유다이 후지와라는 Redis가 특정 Lua 스크립트를 잘못 처리하는 문제를 발견했습니다. 이 결함은 잠재적으로 힙 손상과 임의 코드 실행으로 이어질 수 있으며, 악의적인 공격자가 Redis 시스템을 악용할 수 있는 길을 열어줍니다.
CVE-2022-35977
이승현 님이 발견한 이 취약점은 Redis가 특수하게 조작된 명령을 잘못 처리하여 정수 오버플로우를 유발하는 것과 관련이 있습니다. 이로 인해 Redis가 불가능한 양의 메모리를 할당하여 애플리케이션 충돌을 통한 서비스 거부로 이어질 수 있습니다.
CVE-2022-36021
Tom Levy는 인공 문자열 매칭 패턴과 관련된 Redis의 결함을 발견했습니다. 이 취약점을 익스플로잇하면 Redis가 중단되어 서비스 거부로 이어질 수 있습니다.
CVE-2023-25155
양유펭은 Redis에서 특수하게 조작된 명령이 정수 오버플로를 유발하여 애플리케이션 충돌을 통한 서비스 거부를 유발할 수 있는 문제를 발견했습니다.
CVE-2023-28856
이 취약점은 Redis가 특수하게 만들어진 명령을 잘못 처리하는 것을 강조합니다. 이 결함을 악용하면 잘못된 해시 필드가 생성되어 향후 액세스 시 잠재적으로 Redis가 충돌할 수 있습니다.
CVE-2023-45145
알렉산드로비치 클리모프는 Redis가 적절한 권한을 설정하기 전에 유닉스 소켓을 잘못 수신하는 것을 발견했습니다. 이 결함으로 인해 로컬 공격자가 의도된 권한을 우회하여 연결할 수 있습니다.
완화 조치
이러한 취약점을 해결하고 시스템 보안을 보장하기 위해 Ubuntu 및 Debian 보안 팀은 지원되는 다양한 릴리스에 대한 보안 업데이트를 릴리스했습니다. 이러한 업데이트에는 확인된 취약점을 완화하는 패치가 포함되어 있으므로 잠재적인 악용으로부터 보호하기 위해 Redis 패키지를 업그레이드하는 것이 필수적입니다.
수명이 다한 Ubuntu 시스템 보호
이러한 취약점은 Ubuntu 14.04, 16.04 및 18.04를 포함한 수명이 다한 Ubuntu 운영 체제에도 영향을 미칩니다. 이러한 시스템은 Ubuntu Pro를 구독하지 않는 한 공식 보안 업데이트를 받을 수 없습니다. 하지만 보안 지원을 연장하기 위한 유일한 선택은 아닙니다.
훨씬 더 저렴한 옵션인 TuxCare의 수명 주기 연장 지원을 선택하면 Ubuntu 16.04 및 Ubuntu 18.04에 공급업체 등급 보안 패치를 5년 동안 추가로 제공할 수 있습니다. 즉, EOL 날짜 이후 5년 동안 중요한 Ubuntu 워크로드에 대한 보안 업데이트를 계속 받을 수 있습니다. 그 동안에는 안심하고 마이그레이션 전략 수립에 집중할 수 있습니다.
출처 USN-6531-1