During increaseValuesOfParticipants
, only selectedRam
is set to the winner's address and isRamSelected
is not set to true
. This allows selectedRam
to be overwritten, and creates a temporary DOS to Dussehra::killRavana
and Dussehra::withdraw
.
When all characteristics are set, only selectedRam
is set to the winner's address and isRamSelected
is not set to true
.
Due to isRamSelected
not being set to true
, subsequent calls to increaseValuesOfParticipants
are allowed (since the RamIsNotSelected
modifier passes), overwriting selectedRam
. This is unintended behavior.
Furthermore, a DOS occurs in Dussehra::killRavana
and Dussehra::withdraw
since the RamIsSelected
modifier is unable to pass. This DOS persists until the organiser
is able to call ChoosingRam::selectRamIfNotSelected
which does set isRamSelected
to true. However, this also overwrites selectedRam
.
Manual Review
When setting selectedRam
, also set isRamSelected
to true
during increaseValuesOfParticipants
calls.
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.