According to the specification, the SNARKeling Treasure Hunt protocol should not allow claiming the reward for
an already claimed treasure
An incorrect check with an invalid key over the claimed mapping allows claiming up to MAX_TREASURES times for
the same secret
Likelihood:
High: A malicious player that generated a valid ZK proof for a valid treasure secret can repeatedly call the claim function with the same parameters MAX_TREASURES of times,
claiming each time the value of the reward for the same secret, which should not be allowed by the protocol
Impact:
High: A malicious user can steal (MAX_TREASURES - 1) * REWARD of funds from the contract with just one ZK proof (one found secret)
A malicious player generates a valid ZK proof for a valid treasure secret
The malicious user repeatedly calls the claim function with the same secret's ZK proof and treasureHashMAX_TREASURES of times,
claiming each time the value of the reward for the same secret, which should not be allowed
To prevent this protocol exploit, fix the claimed check by replacing the `_treasureHash` storage variable with the correct `treasureHash` function parameter
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.
The contest is complete and the rewards are being distributed.