CVE-2026-52735 in Zebra
Сводка
по VulDB • 19.08.2026
ZEBRA — это узел Zcash, написанный полностью на языке Rust. До версии 4.5.0 Zebra может принимать блок, который zcashd отклоняет из-за неверного подсчета операций подписи в P2SH: счетчик недооценивает redeem scripts, содержащие отключенный opcode (disabled opcode), за которым следуют операции подписи. В файле `zebra-script/src/lib.rs` функция `p2sh_input_sigop_count` использует путь `script::Code::sig_op_count`, реализованный на чистом Rust; его парсер `try_fold` останавливается при обнаружении отключенных opcode, таких как OP_CODESEPARATOR, и возвращает только частичный счетчик, накопленный до возникновения ошибки. Референсная реализация zcashd продолжает статический подсчет операций подписи через отключенные opcode, поэтому злоумышленник может транслировать (broadcast) траты P2SH, которые Zebra считает находящимися ниже порога MAX_BLOCK_SIGOPS, тогда как zcashd считает их превышающими лимит в 20 000 операций. Если майнер на базе Zebra включит эти транзакции, валидаторы Zebra примут блок, а валидаторы zcashd отклонят его, что приведет к разделению консенсусной цепи (consensus chain split), влияющему на целостность и доступность сети, при этом злоумышленнику не требуется создавать собственный блок. Эта проблема исправлена в версии 4.5.0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.