A critical vulnerability has been discovered in the buyPresent() function
of the SantasList.sol
smart contract that could allow an attacker to burn any user's Santa tokens without their consent. This vulnerability is caused by the function not verifying that the token owner has approved the burn transaction. This vulnerability could be exploited to steal Santa tokens from other users.
An attacker could exploit this vulnerability by calling the buyPresent() function
with the address of the victim as the presentReceiver parameter. This would cause the victim's Santa tokens to be burned, even if they had not approved the transaction.
This vulnerability could allow an attacker to:
**Steal Santa tokens from other users
**Disrupt the operation of the protocol
Manual Review
Modify the buyPresent() function to verify that the token owner has approved the burn transaction.
For example, the function can be modified to :
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.