-
Notifications
You must be signed in to change notification settings - Fork 1
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
Users might lose funds after calling rageQuit()
by malicious frontrunners.
#9
Comments
Duplicate of #17 |
thereksfour marked the issue as primary issue |
thereksfour marked the issue as satisfactory |
0xble marked the issue as sponsor confirmed |
Will implement the recommended mitigation |
@thereksfour I've reported this in L-4 https://github.com/code-423n4/2023-05-party-findings/blob/main/data/adriro-Q.md |
thereksfour marked the issue as selected for report |
In #22 I mentioned this issue as well:
|
Different case, in #22, user lost funds in TokenDistributor, in this issue, user lost funds in PartyGovernanceNFT.
|
#9 and #17 are very explicit about this issue's being a |
Could you elucidate what you consider the two different issues to be? As I see it, one (#22, #34) is that rage quitting forfeits funds in I very clearly discuss both of those issues in #22.
The second issue:
|
thereksfour changed the severity to QA (Quality Assurance) |
Sorry, wrong action |
You are right, my previous understanding was incorrect.
|
thereksfour marked the issue as not selected for report |
Lines of code
https://github.com/code-423n4/2023-05-party/blob/f6f80dde81d86e397ba4f3dedb561e23d58ec884/contracts/party/PartyGovernanceNFT.sol#L293
Vulnerability details
Impact
Users might lose funds after
rageQuit()
if a malicious frontrunner takes out funds from the party by executing the proposal.Proof of Concept
Users can burn their party NFTs and receive the share of the party's funds using
rageQuit()
.But this function doesn't have any protections like the slippage protection during the swap and the below scenario would be possible.
rageQuitTimestamp = ENABLE_RAGEQUIT_PERMANENTLY
so users can callrageQuit()
anytime.Alice
is going to callrageQuit()
.Alice
'srageQuit()
is executed and she can't claim the distributed funds as his NFT was burnt.While discussing with the sponsor, he said
We will warn users of rage quitting when there’s a proposal ready to execute
and I think it's still dangerous because the proposal might be executable immediately in case of unanimousVotes.Tools Used
Manual Review
Recommended Mitigation Steps
I think we should add the
minAmountOut
logic like the slippage protection to prevent an unexpected loss.Assessed type
Other
The text was updated successfully, but these errors were encountered: