Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 1.18 KB

`cancelTransaction` can be called on non-queued transaction.md

File metadata and controls

32 lines (24 loc) · 1.18 KB

Without a transaction existence check in cancelTransaction, an attacker can confuse monitoring systems.

cancelTransaction emits an event without checking that the transaction to be canceled exists.

This allows a malicious admin to confuse monitoring systems by generating malicious events.

Recommendation:

Short term, check that the transaction to be canceled exists in cancelTransaction.

This will ensure that monitoring tools can rely on emitted events.

Long term, write a specification of each function and thoroughly test it with unit tests and fuzzing.

Use symbolic execution for arithmetic invariants.


Slide Screenshot

153.jpg


Slide Text

  • ToB Audit Hermez Network Finding 19
  • Data Validation
  • Cancel Non-existing Transaction -> Event
  • Validate Transaction Existence

References


Tags