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.