Skip to content

Latest commit

 

History

History
25 lines (20 loc) · 1.27 KB

Document potential edge cases for hook receiver contracts.md

File metadata and controls

25 lines (20 loc) · 1.27 KB

The functions withdrawTokenAndCall() and withdrawTokenAndCallOnBehalf() make a call to a hook contract designated by the owner of the withdrawing stealth address. There are very few constraints on the parameters to these calls in the Umbra contract itself.

Anyone can force a call to a hook contract by transferring a small amount of tokens to an address that they control and withdrawing these tokens, passing the target address as the hook receiver.

Recommendation:

Developers of these UmbraHookReceiver contracts should be sure to validate both the caller of the tokensWithdrawn() function and the function parameters.


Slide Screenshot

102.jpg


Slide Text

  • ConsenSys Audit Umbra Finding 5.2
  • Access Control & Input Validation
  • External Contract Call w/ Untrusted Parameters
  • Document/Validate Potential Edge Cases

References


Tags