It is possible that create2 fails with address(0) which then locks all auctionToken to zero-address.
The FjordAuctionFactory contract uses create2 to deploy new FjordAuction contracts:
However, there are couple scenarios it can fail with address(0).
It's a well-known issue that create2 can fail if the deployment operation fails and return address(0)
Also, it's vulnerable to front-running attacks where a malicious actor could precompute the auction address and deploy their own contract at that address before the AuctionFactory does.
Since FjordAuctionFactory contract does not check if create2 returns address(0), and sends the auctionToken in the same transaction as the create2 operation, the auctionToken will be locked in the zero-address.
Due to improper validation, the auctionToken will be lost.
Manual Review
Consider using a more secure method for generating the salt such as using nonce.
Adopt a proper validation on returned auction address.
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.