placeBid() FunctionSeverity: Medium
Impact: Auction Manipulation
Likelihood: Medium
Description:
The placeBid() function performs external calls to refund previous bidders before updating the bid state, creating a reentrancy opportunity.
Vulnerable Code:
Attack Scenario:
Attacker places initial bid
Legitimate user places higher bid
During refund, attacker's receive() function reenters placeBid()
Attacker can potentially manipulate auction state or timing
Proof of Concept:
Attack Vector:
Attacker places initial bid
Legitimate user places higher bid
During _payout() to attacker, receive() function executes
Attacker can query contract state before bids[tokenId] is updated
Potential for state manipulation or information extraction
Recommended Mitigation:
Use OpenZeppelin's ReentrancyGuard
OR move state updates before external calls (Checks-Effects-Interactions pattern)
BidBeast Marketplace has a Medium-severity reentrancy vulnerability in its "buy-now" feature that allows an attacker to disrupt the platform by blocking sales or inflating gas fees for legitimate users.
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.