Liquid Staking

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

Unauthorized Pause Privileges for Distribution Oracle

Summary

There is a discrepancy between the documented authorization and actual implementation of pause functionality in PriorityPool.sol. While the code comments indicate that only rebaseController has pause authorization, the implementation allows distributionOracle to pause the pool.

Vulnerability Details

According to comments in the PriorityPool.sol, only rebaseController has the authorization to pause the pool

// address with authorization to pause the pool
address public rebaseController;

However, the pauseForUpdate function uses the onlyDistributionOracle modifier, meaning only the distribution oracle can call this function:

function pauseForUpdate() external onlyDistributionOracle { //@audit
_pause();
}

If the intention was truly to only allow rebaseController to pause the pool, then having distributionOracle able to pause represents an unintended privilege escalation.

Impact

The distributionOracle has unauthorized pause capabilities that weren't intended according to the documentation.

Tools Used

Manual Review

Recommendations

Updates

Lead Judging Commences

inallhonesty Lead Judge 8 months ago
Submission Judgement Published
Invalidated
Reason: Design choice

Support

FAQs

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