Once a user claims, he can claim again as there are no checks to see if he has already claimed.
Contract lacks functions that can make sure each user can claim only once similar to functions isClaimed() and _setClaimed() in :
https://github.com/Uniswap/merkle-distributor/blob/master/contracts/MerkleDistributor.sol#L33C14-L33C25
The impact is that a user can get all 100 USDC.
Visual inspection
add a combination of mapping and function that will check that user has already claimed similar to :
https://github.com/Uniswap/merkle-distributor/blob/master/contracts/MerkleDistributor.sol#L33C14-L33C25
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.