In the SpiceAuction: bid() function we use the balanceOf() function before and after the safeTransferFrom() to check the amount but that introduces vulnerabilities of A DOS attack.
Consider this scenario:
1.Bob bids 1 ether
2.Alice attempts to bid 2 ether
3.Bob manages to send 1 Wei to the _recipient just before the IERC20(bidToken).balanceOf(_recipient) happens
4.The _recipent balance is now 1 ether and 1Wei
5.Alice's bid(2 ether) call reverts because:
So Bob can keep doing this and DOSing as many users as he can to increase the percentage of the TGLD he gets
High
manual review
1.Implement a minimum bid amount to increase the cost of the attack in order to discourage attackers
OR
2.Change the check from != to<
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.