Using _safeMint
function can lead to reentrancy attacks.
Implementation of _safeMint
check _checkOnERC721Received
this external call allows smart contract to implement invoked function so it can reentrant minting;
Scenario:
Attacker can create smart contract that reenter the mint function when checking if contract can receive ERC721 tokens.
This can lead to draining funds.
Manual Review
Import OpenZeppelin's ReentrancyGuard.sol and use nonReentrant modifier to protect functions that use _mintAndIncrement
.
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.