https://github.com/Cyfrin/2024-09-mystery-box/blob/main/src/MysteryBox.sol#L86-L89
https://github.com/Cyfrin/2024-09-mystery-box/blob/main/src/MysteryBox.sol#L97-L100
In the `MysteryBox.sol::claimAllRewards` and `MysteryBox.sol::claimSingleReward` the user can withdraw more money than what should be permitted by reentering the same function many times
In the `MysteryBox.sol::claimAllRewards` `MysteryBox.sol::claimSingleReward` functions the payment is made before the update of all the rewards of the user in the array called `rewardsOwned`
The user can drain the protocol funds by reentering the functions called `MysteryBox.sol::claimAllRewards` and `MysteryBox.sol::claimSingleReward`
Manual review
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.