organiser
at Dussehra.sol
and the address organiser
at RamNFT.sol
have the power to influence and obstruct the functioning of the protocol. As a result, the protocol ends up highly centralised.Description: The address organiser
is given a lot of power though several functions.
ChoosingRam::selectRamIfNotSelected
gives sole power to the organiser
to select a Ram. If the organiser does not do this within the set time frame of around one day, the contract breaks and the funds will be stuck in the contract forever.
RamNFT::setChoosingRamContract
allows organiser
to change choosingRamContract
and thereby change the Characteristics
of any ramNFT. See the vulnerability [M-2] above.
There are several ways in which the protocol allows the organiser
to abuse its power to rug pull participants or break the protocol. See vulnerabilities [H-1], [H-2] and [H-5] above.
Impact: The protocol is susceptible to a rug pull.
Recommended Mitigation: The solution to this problem is not straightforward. But some steps that will help mitigate this issue:
Improve role restrictions throughout the protocol. The use of OpenZeppelin's Ownable
or AccessControl
will already help.
Improve logic within the protocol to reduce chances of rug pull's. See vulnerabilities [H-1], [H-2] and [H-5] discussed above.
Use multisig wallets for address with high privileged roles. This reduces the chance of one actor abusing its powers.
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.