Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 1.69 KB

Contract owner has too many privileges.md

File metadata and controls

45 lines (34 loc) · 1.69 KB

The owner of the contracts has too many privileges relative to standard users.

Users can lose all of their assets if a contract owner private key is compromised.

The contract owner can do the following:

  1. Upgrade the system's implementation to steal funds
  2. Upgrade the token's implementation to act maliciously
  3. Increase the amount of iTokens for reward distribution to such an extent that rewards cannot be disbursed
  4. Arbitrarily update the interest model contracts

The concentration of these privileges creates a single point of failure.

It increases the likelihood that the owner will be targeted by an attacker, especially given the insufficient protection on sensitive owner private keys.

Additionally, it incentivizes the owner to act maliciously.

Recommendation:

Short term:

  1. Clearly document the functions and implementations the owner can change.
  2. Split privileges to ensure that no one address has excessive ownership of the system.

Long term, document the risks associated with privileged users and single points of failure.

Ensure that users are aware of all the risks associated with the system.


Slide Screenshot

165.jpg


Slide Text

  • ToB Audit dForce Lending Finding 10
  • Access Control
  • Contract Owner
  • Over-privileged
  • Least Privilege
  • Documented Risks

References


Tags