Audit H/M report Summary from NextGen C4
1.Attacker can reenter to mint all the collection supply
when mint ERC721 token,protocol invoke minter’s onERC721Received
function can lead to re-entrancy issue.
2.Attacker can drain all ETH from AuctionDemo when block.timestamp == auctionEndTime
3.Adversary can block claimAuction() due to push-strategy to transfer assets to multiple bidders
claimAuction() implements a push-strategy instead of a pull-strategy for returning the bidders funds.
protocol invoke user’s address to send eth,user can implement revert on receive{} function to brick the process.
4.Multiple mints can brick any form of salesOption 3 mintings
1 | lastMintDate[col] = collectionPhases[col].allowlistStartTime |
due to mint at different period , first mint period extend time result in lastMintDate bigger than second period’s start time.
5.MinterContract::payArtist can result in double the intended payout
inconsistent between set percent and calculate acturally pay out.