CVE-2026-52735 in Zebra
Riassunto
di VulDB • 19/08/2026
ZEBRA è un nodo Zcash scritto interamente in Rust. Prima della versione 4.5.0, Zebra può accettare un blocco che zcashd rifiuta perché il contatore delle operazioni di firma P2SH (P2SH signature-operation counter) sottostima gli script riscattabili contenenti un opcode disabilitato seguito da opcode di firma. In `zebra-script/src/lib.rs`, la funzione `p2sh_input_sigop_count` utilizza il percorso in puro Rust `script::Code::sig_op_count`, il cui parser `try_fold` si interrompe agli opcode disabilitati come OP_CODESEPARATOR e restituisce solo il conteggio parziale accumulato prima dell'errore. L'implementazione di riferimento zcashd continua a contare staticamente le operazioni di firma anche attraverso gli opcode disabilitati, quindi un attaccante può trasmettere spendite P2SH che Zebra conta al di sotto del limite MAX_BLOCK_SIGOPS mentre zcashd le conta oltre il limite di 20.000 operazioni. Se un minatore Zebra include queste transazioni, i validatori Zebra accettano il blocco mentre i validatori zcashd lo rifiutano, creando una scissione della catena di consenso che compromette l'integrità e la disponibilità della rete senza richiedere all'attaccante di produrre un blocco. Questo problema è stato risolto nella versione 4.5.0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.