DoS as a result of the organiser changing the choosingRamContract in RamNFT.sol
RamNFT.sol::setChoosingRamContract
can be called by the organiser and set to any address. This means that the RamNFT.sol contract is in no way connected to the ChoosingRam.sol contract
RamNFT.sol::updateCharacteristics
can only be called by the RamNFT.sol::choosingRamContract
and because this can be changed to an address other than the ChoosingRam.sol address, calling ChoosingRam.sol::increaseValuesOfParticipants
will revert as RamNFT.sol::updateCharacteristics
is called from a contract that is not the current RamNFT.sol::choosingRamContract
. This will make leveling up your nft impossible, resulting in a key feature being impossible to use. However, due to another bug that only allows you to withdraw if your picked as ram through ChoosingRam.sol::selectRamIfNotSelected
, no funds are at risk because of this.
Manual review
Don't allow the organiser to have the power to change the choosingRam contract (delete RamNFT.sol::setChoosingRamContract
)
Implement a DAO so that participants can vote on proposed choosingRam contract changes.
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.