zebrad is vulnerable to Denial of Service (DoS)
59
Medium Risk
During contextual block verification Zebra checks the remaining transparent value of every non-coinbase transaction. The implementation clones and converts the entire block-level spent-output map once per transaction instead of passing each transaction only the outputs it spends, turning a linear check into quadratic work. A single valid mined block packed with minimal single-input transactions can stall block processing for tens of seconds. The fix gives each transaction only its own spent outputs and avoids the extra copies, making the check linear.
You are affected if you are using a version that falls within the vulnerable range and your node validates blocks, which every default full-node configuration does. The stall is triggered by a specially crafted valid, proof-of-work-bearing block, so it cannot be induced by an unmined block from an arbitrary peer.
zebrad is vulnerable to Denial of Service (DoS) in versions 0.0.1 - 6.0.0.
Upgrade the zebrad library to the patch version.
Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.
Free. No credit card required.

I consent to receiving marketing communications based on Aikido’s Privacy Policy.
SOC 2Compliant
ISO 27001Compliant