MysteryBox::claimAllRewards and MysteryBox::claimSingleReward do not have checks to see if there is enough ETH in the contract to pay out the rewards.
Users might try calling these functions in order to receive their rewards, but the transfers will revert as the contract does not have the ETH to pay.
Implement a system that ensures the contract cannot issue rewards that exceed its balance (this could be a significant rewrite of the protocol).
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.