A missing uniqueness check on submitted certificates trips a hard failure during block processing
- Severity
- Critical
- Class
- Consensus & liveness
- System
- Sidechain-enabled Layer-1
A specially built block hits an assertion during processing on every node, poisoning it and halting the chain.
A uniqueness rule that should have been enforced on incoming certificates wasn't, and the code further down assumed it had been. When a block carried the duplicate the code believed impossible, it hit a hard assertion instead of a graceful rejection.
A poison block like this is dangerous because once it's in front of the network, every node processing it fails identically.
Why it rated Critical
A single crafted block causes a network-wide halt. Recovery from a poison block is painful and manual.
The fix class
Enforce the uniqueness invariant explicitly at validation time and turn the downstream assertion into a normal rejection path.

