Attacker can call buyPresent() which burn token of another user and get back santasList NFT (mint nft without token)
function buyPresent()
will burn SantaToken in presentReceiver
but will mint & send nft santasList to msg.sender()
which can different with presentReceiver
. Attacker can call buyPresent() with presentReceiver
is address of another user have token and get back nft without lost any their token.
Test POC:
Attacker can mint and get nft with user money without their permission.
Manual review & Foundry
Burn token from msg.sender()
instead of receiver.
Current implementation allows a malicious actor to burn someone else's tokens as the burn function doesn't actually check for approvals.
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.