Skip to content

Latest commit

 

History

History
27 lines (23 loc) · 1.11 KB

OUSD allows users to transfer more tokens than expected.md

File metadata and controls

27 lines (23 loc) · 1.11 KB

Under certain circumstances, the OUSD contract allows users to transfer more tokens than the ones they have in their balance.

This issue seems to be caused by a rounding issue when the creditsDeducted is calculated and subtracted.

Recommendation:

Short term, make sure the balance is correctly checked before performing all the arithmetic operations. This will make sure it does not allow to transfer more than expected. Long term, use Echidna to write properties that ensure ERC20 transfers are transferring the expected amount.


Slide Screenshot

040.jpg


Slide Text

  • ToB Audit Origin Dollar Finding 22
  • Data Validation
  • High Severity
  • User Tokens > Balance
  • Rounding Issue
  • Check Balance
  • Arithmetic Invariants

References


Tags