A vulnerability exists in the design of auction system (FjordAuction.sol
), where users can bid and unbid with points at any time before the auction ends. This flaw allows a malicious user who has accumulated many points to manipulate the reward distribution by inflating bids early in the auction to mislead other participants that the auction already has a lot of bids and deter them from bidding, and if successful, subsequently retracting most bids just before the auction ends. This allows the malicious user to unfairly claim an unproportional share of the rewards with minimal points.
Based on the auction mechanics, users participate in auctions by bidding with points and can bid or unbid their points at any time before the auction ends. The total rewards are distributed proportionally based on the total number of bids received.
A malicious user can initially place a large number of bids, creating the illusion that the chances of earning a significant portion of the reward pool are low. This can deter other users from bidding or lead them to bid less.
Just before the auction ends, if the malicious user notices that he has successfully detered others from bidding, the malicious user can unbid most of his points, for example leaving only 1 point in the pool (i.e. totalBids
= 1) if no one else ends up bidding. Since the reward pool is distributed proportionally, this single point now represents the entire bid pool. The malicious user ends up unfairly claiming the entire reward pool with just 1 point.
The malicious user repeats this tactic on other available auctions.
This exploit can severely damage user trust in the auction platform, as malicious users can easily manipulate the system in their favour. This renders the auction system ineffective.
Manual review.
Consider introducing the following safeguards:
Lock Bids: Implement a locking mechanism where bids cannot be retracted or reduced once placed. This ensures that all bids are final and prevents last-minute manipulation.
Penalty for Unbidding: Impose a penalty for unbidding points as the auction nears its conclusion. This can discourage users from retracting bids solely for manipulative purposes.
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.