Seller Can Prematurely End Auction With takeHighestBid, Breaking the 3-Day Duration Rule
Normally, according to the documentation, each auction must last exactly 3 days, after which anyone can finalize it by calling endAuction(tokenId). This ensures transparency and fairness, giving all bidders the same timeframe.
However, the function takeHighestBid allows the seller to end the auction early, even before the 3-day period has passed. This behavior directly contradicts the documented protocol rules and breaks the expected auction flow.
Likelihood:
Occurs whenever a seller decides to finalize the auction before the 3-day period.
More likely in cases where the seller believes the current bid is high enough and wants to lock it in.
Impact:
Breaks fairness by preventing other bidders from participating within the expected 3-day window.
Undermines trust in the marketplace, as the contract behavior does not match the documented rules.
Seller lists an NFT for auction.
A bidder places a bid, expecting 3 full days for competition.
Seller immediately calls takeHighestBid(tokenId).
Auction ends early, NFT is transferred, and the bidding process is prematurely cut off.
Remove the takeHighestBid function entirely to ensure auctions always follow the fixed 3-day rule as per documentation.
Documentation for BidBeasts Marketplace is incomplete or inaccurate, potentially leading to misconfigurations or security misunderstandings.
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.