The state change (CurrenTokenID++) happens AFTER the external interaction (_safeMint). This could potentially allow reentrancy attacks.
Likelihood:
Reentrancy can occur when _safeMint calls the recipient's onERC721Received function
Malicious contracts can exploit this to manipulate the state before CurrenTokenID is incremented
The vulnerability exists every time a mint occurs to a contract address
Impact:
Potential for duplicate token IDs if reentrancy occurs
State inconsistency in the contract
Possible exploitation of mint logic
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.