This bug allows users to repeatedly withdraw funds after the auction ends due to the bid value not being reset. The fix is to set the bid value to zero after withdrawal. It's a high-priority issue.
Repeated Withdrawals: The issue lies in the fact that after a user withdraws their bid amount, the bid_values entry for the user is not reset. As a result, if the user calls the withdraw function multiple times, they can withdraw the same bid amount repeatedly.
This could lead to significant fund losses from the contract as users would be able to drain more funds than they originally bid.
Participate in an auction by placing a bid.
Wait for the auction to end.
Call the withdraw function to successfully withdraw the bid.
Call the withdraw function again (without any check in place to block repeated withdrawal) and notice that the same amount can be withdrawn again.
Manual , VS code
The `withdraw` function doesn't reset the `bid_values` to 0 after the withdraw. That means the bidder can call multiple time the `withdraw` function and receive the whole balance of the protocol.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.