Attacker can steal user tokens and use them to buy nfts for himself by passing user address as a parameter to the buypresent function. Since the function charges the passed address for the token, the user token will be deducted for the trade instead for the msg.sender
Logic error
loss of tokens
foundry
buyPresent should burn msg.sender tokens instead of presentReciever
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.