The Standard

The Standard
DeFiHardhat
20,000 USDC
View results
Submission Details
Severity: low
Invalid

Accidental renounce ownership can brick the Liquidation Pool Manager and Smart Vault Manager

Summary

OwnableUpgradeable and Ownable expose a function renounceOwnership() which can be used to surrender control of contracts with owners.

This may result in the removal of ownership for LiquidationPoolManager and SmartVaultManagerV5; ultimately breaking the protocol.

Vulnerability Details

The LiquidationPoolManager and SmartVaultManagerV5 contracts inherit from Ownable and OwnableUpgradeable respectively, and hence inherit the renounceOwnership() function.

The owner of these contracts can accidentally (or intentionally) call renounceOwnership() which will transfer the ownership to address(0). This will break all functionality of the protocol that uitlises the onlyOwner() modifier; below is a list of those functions:

  • LiquidationPoolManager::setPoolFeePercentage()

  • SmartVaultManagerV5::setMintFeeRate

  • SmartVaultManagerV5::setBurnFeeRate

  • SmartVaultManagerV5::setSwapFeeRate

  • SmartVaultManagerV5::setWethAddress

  • SmartVaultManagerV5::setSwapRouter2

  • SmartVaultManagerV5::setNFTMetadataGenerator

  • SmartVaultManagerV5::setSmartVaultDeployer

  • SmartVaultManagerV5::setProtocolAddress

  • SmartVaultManagerV5::setLiquidatorAddress

Tools Used

Manual Review

Recommendations

Disable renounceOwnership() if this feature is not required

+ function renounceOwnership() public override onlyOwner {
+ revert ("Not allowed");
+ }
Updates

Lead Judging Commences

hrishibhat Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

informational/invalid

SolSaver Submitter
over 1 year ago
hrishibhat Lead Judge
over 1 year ago
hrishibhat Lead Judge
over 1 year ago
hrishibhat Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

informational/invalid

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.