A missing timestamp check lets the block source choose which rule set validates it
- Severity
- High
- Class
- Protocol logic
- System
- Stateless validator
By controlling an unvalidated timestamp, a block source picks the fork rules its block is judged under, so an otherwise invalid block is accepted.
Which rules apply to a block can depend on its timestamp, because rule sets change at fork boundaries. When that timestamp isn't validated, whoever produces the block gets to choose the rules it's judged under.
Pick the lenient rule set and a block that should have been rejected sails through and gets committed.
Why it rated High
It lets a block source evade the rules meant to constrain it, admitting invalid blocks into the chain.
The fix class
Validate the timestamp against independent bounds before it's allowed to select the applicable rule set.

