🇰🇷 한글 설명
Zebra 노드의 트랜잭션 검증 캐시 내 로직 오류로 인해 악의적인 채굴자가 합의 분열을 유도할 수 있는 취약점입니다. 공격자는 유효한 트랜잭션 ID와 일치하지만 권한 데이터는 유효하지 않은 데이터를 제공하여 취약한 Zebra 노드가 잘못된 블록을 수락하게 만들 수 있습니다. 이로 인해 취약한 노드와 나머지 Zcash 네트워크 간의 합의 분열이 발생할 수 있습니다.
💡 쉬운 설명
채굴자가 가짜 정보를 섞어 보내면 일부 Zcash 노드들이 잘못된 블록을 진짜라고 믿게 되어 네트워크가 두 갈래로 쪼개질 수 있는 문제입니다. 이로 인해 네트워크 전체의 일관성이 깨질 위험이 있습니다.
🇺🇸 원문 (English)
ZEBRA is a Zcash node written entirely in Rust. Prior to zebrad version 4.3.0 and zebra-consensus version 5.0.1, a logic error in Zebra's transaction verification cache could allow a malicious miner to induce a consensus split. By matching a valid transaction's txid while providing invalid authorization data, a miner could cause vulnerable Zebra nodes to accept an invalid block, leading to a consensus split from the rest of the Zcash network. This would not allow invalid transactions to be accepted but could result in a consensus split between vulnerable Zebra nodes and invulnerable Zebra and Zcashd nodes. This issue has been patched in zebrad version 4.3.0 and zebra-consensus version 5.0.1.
📍 영향받는 시스템
zebrad version 4.3.0 미만 및 zebra-consensus version 5.0.1 미만
⚔️ 공격 벡터
유효한 트랜잭션 ID와 일치하지만 권한 데이터가 잘못된 데이터를 제공하여 검증 캐시의 로직 오류를 악용
🛡️ 대응 방법
zebrad 버전을 4.3.0 이상으로, zebra-consensus 버전을 5.0.1 이상으로 업데이트
🔧 검증 코드
출력된 버전이 4.3.0 이상인지 확인하여 패치 여부를 판단합니다.
zebrad --version | grep -E '4.3.0' || zebrad --version