Liquid Staking

Stakelink
DeFiHardhatOracle
50,000 USDC
View results
Submission Details
Severity: low
Invalid

Inconsistent Use of onlyOwner in Upgrade Functions

Summary

The _authorizeUpgrade function in Vault and OperatorVault uses the onlyOwner modifier, but there is no explicit mention or documentation of the upgrade functions or mechanisms in the contract code provided. This inconsistency can lead to confusion or misconfiguration regarding who is authorized to perform upgrades.

Vulnerability Details

In Vault.sol:

function _authorizeUpgrade(address) internal override onlyOwner {}

Similarly in OperatorVault.sol. While the function restricts upgrades to the contract owner, the lack of documentation and clarity on the upgrade process can cause confusion.

Impact

  • Potential Unauthorized Upgrades: If ownership is not correctly managed, an attacker could perform unauthorized upgrades.

  • Operational Confusion: Developers and operators may be unsure of the correct upgrade procedures.

Tools Used

Manual code review.

Recommendations

  • Document Upgrade Mechanism:

    • Provide clear documentation on how upgrades are performed.

    • Explain who the owner is and how ownership can be transferred.

  • Ownership Management:

    • Ensure that ownership is securely managed, possibly using a multi-signature wallet.

  • Event Emission:

    • Emit events when upgrades are authorized or performed to enhance transparency.

Updates

Lead Judging Commences

inallhonesty Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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