The killRavana
function can be called multiple times by protocol users in a given time frame. Each time the function is called, the event organizer receives half of all fees collected. So after just two consecutive calls to killRavana
(assuming the selected ram does not call Dussehra::withdraw
after the first call to the killRavana
function), the organizer would receive all the fees collected.
The organizer can receive all the collected fees, leaving the selected ram user without the ability to withdraw his rewards. This would break the protocol invariant.
manual review, VSC
Consider implementing an access control mechanism using the KillRavanaOnlyOnce
modifier in Dussehra::killRavana
. This action would also prevent a possible reentrancy attack in Dussehra::killRavana
, which would allow an organizer to steal all entry fees, in case the organizer address is a smart contract.
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.