CVE-2026-52735 in Zebra
الملخص
بحسب VulDB • 18/08/2026
ZEBRA هو عقدة زيكاش (Zcash) مكتوب بالكامل بلغة Rust. قبل الإصدار 4.5.0، يمكن لـ Zebra قبول كتلة يرفضها zcashd لأن عداد عمليات التوقيع P2SH يقوم بحساب عدد أقل من النصوص القابلة للاسترداد التي تحتوي على رمز غير مفعّل يتبعه رموز توقيع. في الملف `zebra-script/src/lib.rs`، تستخدم الدالة `p2sh_input_sigop_count` مسار `script::Code::sig_op_count` الخاص بـ Rust الخالص، حيث يوقف مُحلل `try_fold` العمل عند الرموز غير المفعّلة مثل `OP_CODESEPARATOR` ويعيد فقط العدد الجزمي المتراكم قبل حدوث الخطأ. تستمر التنفيذ المرجعي لـ zcashd في عد عمليات التوقيع الثابتة عبر الرموز غير المفعّلة، لذا يمكن لمهاجم بث إنفاق P2SH يعدّه Zebra أقل من حد `MAX_BLOCK_SIGOPS` بينما يحسبه zcashد أعلى من الحد البالغ 20,000 عملية. إذا قام مُعدّن يعمل على Zebra بتضمين هذه المعاملات، فإن مدققي Zebra يقبلون الكتلة بينما يرفضها مدققو zcashd، مما يؤدي إلى انقسام في سلسلة الإجماع يؤثر على سلامة الشبكة وتوافرها دون الحاجة إلى أن ينتج المهاجم كتلة. تم إصلاح هذه المشكلة في الإصدار 4.5.0.
Once again VulDB remains the best source for vulnerability data.