Attacker Approves a Large Amount
The attacker approves an amount much higher than the actual NFT price (e.g., NFT price = 100 tokens, but they approve 10,000 tokens).
Attacker Calls mint
with an Inflated _amount
Instead of calling mint(tokenId, 100)
, they call mint(tokenId, 10,000)
.
The contract accepts the 10,000 tokens and processes a refund of 9,900 tokens.
Front-Running Attack to Drain Contract Funds
If another user or attacker can front-run the refund transaction and manipulate the balance, they might drain contract funds through repeated overpayments.
This ensures that users only send the exact amount required and prevents refund manipulation.
require(_amount == price, "RAACNFT__ExactAmountRequired");
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.