https://github.com/Cyfrin/2024-08-fjord/blob/main/src/FjordAuctionFactory.sol
The createAuction()
function interacts with external ERC20 contracts via the transferFrom
method, which introduces the risk of reentrancy attacks. If the token being transferred has non-standard functionality or interacts with other contracts, an attacker could exploit reentrancy to manipulate the contract’s state.
The contract makes external calls to transfer tokens using the transferFrom()
function, which could be exploited in a reentrancy attack if the external token contract has vulnerabilities or implements custom logic. Without reentrancy protection, an attacker could re-enter the function and execute it multiple times.
A successful reentrancy attack could lead to the creation of multiple unintended auctions or result in the theft of tokens. This could cause significant financial loss or disrupt the auction process.
Manual Review
Implement reentrancy protection by using OpenZeppelin’s ReentrancyGuard
and applying the nonReentrant
modifier to the createAuction()
function.
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.