Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible griefing to cancel motions #26

Open
2 of 3 tasks
TheDZhon opened this issue Oct 5, 2022 · 0 comments · May be fixed by #25
Open
2 of 3 tasks

Possible griefing to cancel motions #26

TheDZhon opened this issue Oct 5, 2022 · 0 comments · May be fixed by #25

Comments

@TheDZhon
Copy link
Contributor

TheDZhon commented Oct 5, 2022

NOTE: The issue was reported by Statemind during the audit round of #23.

When someone creates a motion, its snapshot block is set to the current block.number. While, theoretically, it's totally correct and reasonable, there is a possibility to take a flashloan of the Lido governance token (LDO) and object the motion multiple times from different accounts until the objection threshold is reached.

Rough action plan:

  • Disclose the issue.
  • Prepare PR with a fix (look into the previous block.number - 1 snapshot block for LDO balance) (Fix: set snapshot block in the past #25)
  • Consider to re-deploy ET once it becomes feasible (far-going plans).

Impact

The impact is tolerable since the main Lido DAO Aragon voting governance hand stays in absolute authority to perform any on-chain actions.

Mitigations without redeployment:

  • Have monitoring for unusual on-chain activities (single-block objections occurred within the block of the motion creation)
  • Once someone decides to exploit the behavior, the possibility of front-running could be circumvented by using the private communication channels with block proposers (e.g., Flashbots) to prevent tx interception and front-running inside the mempool.
  • Full-fledged Aragon voting can still perform the necessary actions
@TheDZhon TheDZhon linked a pull request Oct 5, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant