🇰🇷 한글 설명
Dragonfly 데이터 저장소 1.40 미만 버전에서 OpaqueObjLoader::CreateStream 함수가 중복된 소비자 항목을 처리할 때 메모리 해제 오류(Double-Free)를 발생시킵니다. 인증이 비활성화된 기본 설정에서 공격자가 조작된 직렬화 스트림을 RESTORE 명령으로 전송하면 메모리 오염, 서비스 거부(DoS) 또는 서비스 계정 권한의 임의 코드 실행이 가능합니다.
💡 쉬운 설명
데이터 저장소 프로그램의 메모리 관리 실수로 인해 발생하는 보안 취약점입니다. 해커가 특수한 데이터를 보내면 프로그램이 갑자기 꺼지거나, 해커가 컴퓨터를 마음대로 조종할 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
Dragonfly is an in-memory data store built for modern application workloads. Prior to 1.40, OpaqueObjLoader::CreateStream in src/server/rdb_load.cc can associate one streamNACK with a consumer group's global PEL and a consumer-local PEL, then free the shared object when a duplicate consumer entry is rejected. Cleanup subsequently frees the same object again. In the default configuration, where Dragonfly ships with authentication disabled, an unauthenticated client can trigger the double-free by sending a crafted serialized stream to RESTORE, causing allocator corruption, denial of service, and potentially attacker-controlled code execution as the Dragonfly service account. The source fix has not yet been mapped to a published release.
📍 영향받는 시스템
Dragonfly version < 1.40
⚔️ 공격 벡터
인증되지 않은 클라이언트가 RESTORE 명령을 통해 조작된 직렬화 스트림을 전송
🛡️ 대응 방법
Dragonfly를 1.40 이상의 버전으로 업데이트하거나, 인증 기능을 활성화하여 접근을 제한하십시오.
🔧 검증 코드
명령어 결과에 1.00에서 1.39 사이의 버전이 나타나면 취약한 버전이 설치된 것입니다.
dragonfly --version 2>/dev/null | grep -E '1\[0-3]\.'