🇰🇷 한글 설명
centraldogma-server 0.84.0 이전 버전에서 ZooKeeper 복제를 활성화하면서 replication.secret을 설정하지 않으면, 서버가 공개적으로 알려진 하드코딩된 비밀값으로 조용히 대체됩니다. 이 기본 자격증명으로 내장 ZooKeeper 앙상블 인증이 가능하여, 네트워크 접근 권한이 있는 공격자가 전체 복제 로그를 읽거나 쿼럼에 참여해 클러스터 전체에 임의의 복제 명령을 실행할 수 있습니다.
💡 쉬운 설명
서버 간 데이터 동기화에 사용되는 비밀번호를 설정하지 않으면, 누구나 아는 기본 비밀번호가 자동으로 적용됩니다. 이를 악용하면 공격자가 서버 클러스터의 데이터를 훔치거나 명령을 조작할 수 있습니다.
🇺🇸 원문 (English)
A vulnerability has been identified in centraldogma-server versions prior to 0.84.0, where enabling ZooKeeper replication without setting replication.secret causes the server to silently fall back to a hard-coded, publicly known secret. This default credential authenticates the embedded ZooKeeper ensemble, allowing an attacker with network access to read the full replication log or join the quorum and execute arbitrary replicated commands across the cluster.
📍 영향받는 시스템
centraldogma-server 0.84.0 미만 버전 중 ZooKeeper 복제를 사용하고 replication.secret을 설정하지 않은 환경
⚔️ 공격 벡터
네트워크 접근이 가능한 공격자가 공개된 기본 비밀값으로 내장 ZooKeeper 앙상블에 인증해 복제 로그를 탈취하거나 쿼럼에 가입해 임의 명령을 실행
🛡️ 대응 방법
centraldogma-server를 0.84.0 이상으로 업그레이드하고 replication.secret에 강력한 고유 값을 설정하며, ZooKeeper 포트를 신뢰된 노드로만 접근하도록 방화벽으로 제한
🔧 검증 코드
replication.secret 항목이 출력되지 않으면 기본 비밀값을 사용 중일 가능성이 높으며, 값이 설정되어 있고 비어 있지 않은지 확인하고 버전도 0.84.0 이상인지 점검해야 합니다.
grep -rn 'replication' /etc/centraldogma /opt/centraldogma 2>/dev/null | grep -i 'secret'