The bid(), unbid(), auctionEnd(), and claimTokens() functions in the FjordAuction contract interact with external ERC20 tokens without implementing reentrancy guards. While these functions follow the checks-effects-interactions pattern, they remain vulnerable to potential reentrancy attacks if the ERC20 token contracts contain malicious code.
An attacker could potentially exploit this vulnerability to manipulate auction outcomes, drain funds, or disrupt the auction process. This could lead to financial losses for participants and compromise the integrity of the auction system.
Manual review
Implement the nonReentrant modifier from OpenZeppelin's ReentrancyGuard contract on all functions that interact with external contracts.
Example fix:
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.