CVE-2026-52739
Açıklama
ZEBRA, tamamen Rust ile yazılmış bir Zcash düğümüdür. 4.5.0 sürümünden önce, kötü niyetli bir blok üreticisi, aynı gizlenmiş işlemi finalize edilmemiş bir üst bloğa ve onun alt bloğuna yerleştirerek zebrad işlemini sonlandırabilir. zebra-state/src/service/non_finalized_state/chain.rs dosyasında, Chain::push fonksiyonu başlangıçta işlem özetini tx_loc_by_hash içine eklemiş ve gizlenmiş verileri güncellemeden ve yinelenen Sprout, Sapling veya Orchard nullifier kontrollerini çalıştırmadan önce benzersizliği doğrulamıştır. Bu nedenle tekrarlanan işlem, bağlamsal doğrulamanın işlemi temiz bir şekilde reddetebilmesinden önce "transactions must be unique within a single chain" onayına ulaşmıştır. Zebra yayın sürümleri "panic equals abort" kullandığından, erişilebilir olan bu onay tüm sürecin sonlanmasına neden olur; istismar edilmesi için ya saldırgan tarafından kazılan iki ardışık blok ya da dürüst bir blok saldırganın gizlenmiş işlemini dahil ettikten hemen sonra saldırgan tarafından kazılan bir alt blok gereklidir. Bu sorun 4.5.0 sürümünde düzeltilmiştir.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| ZcashFoundation zebra | < 4.5.0 | — |
| ZcashFoundation zebra-state | < 7.0.0 | — |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.