🇰🇷 한글 설명
Zcash 노드인 ZEBRA의 4.5.0 미만 버전에서 IPv4-mapped IPv6 주소 처리 방식의 오류로 인해 발생합니다. 인증되지 않은 IPv4 피어가 잘못된 멤풀 트랜잭션을 전송하면 노드가 비정상적으로 종료(Panic)되어 서비스 거부 상태가 됩니다.
💡 쉬운 설명
해커가 특수한 네트워크 주소를 사용하여 Zcash 노드에 접속한 뒤, 잘못된 데이터를 보내면 노드 프로그램을 강제로 종료시킬 수 있습니다. 이로 인해 노드가 작동을 멈추게 되어 네트워크 서비스에 차질이 생길 수 있습니다.
🇺🇸 원문 (English)
ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, an unauthenticated IPv4 peer can deterministically terminate a synced Zebra node using the default Linux dual-stack listener configuration. The handshake path canonicalized an IPv4-mapped IPv6 PeerSocketAddr such as ::ffff:127.0.0.1 to plain IPv4 before storing it through MetaAddr::new_connected, but the mempool misbehavior path forwarded the raw transient address to MetaAddrChange::UpdateMisbehavior. In zebra-network/src/meta_addr.rs, apply_to_meta_addr then compared the canonical address-book entry with the raw update address and reached its unexpected address mismatch assertion. After the misbehavior batch flush, panic equals abort terminated zebrad; the peer only needed to complete a P2P handshake and advertise an invalid mempool transaction. This issue is fixed in version 4.5.0.
📍 영향받는 시스템
ZEBRA (Zcash node) version < 4.5.0
⚔️ 공격 벡터
인증되지 않은 IPv4 피어가 P2P 핸드셰이크 완료 후 유효하지 않은 멤풀 트랜잭션을 광고하여 발생
🛡️ 대응 방법
ZEBRA 노드를 4.5.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 4.5.0 미만의 버전 번호가 출력되면 취약한 버전이 설치된 것입니다.
zebrad --version 2>/dev/null | grep -E '4\.[0-4]\.'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux