Liquid Staking

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

After the operator is removed principle cannot be retrieved.

Summary :

Operators may be removed from the OperatorStakingPool by Chainlink. Their principal can still be accessed by executing OperatorStakingPool::unstakeRemovedPrincipal, therefore it is not lost.
This type of call does not exist in the OperatorVault. The pool principal would be locked if an OperatorVault was removed from the chainlink staking pool.

Vulnerability Details :

function where problem occures

function getPrincipalDeposits() public view override returns (uint256) {
return
super.getPrincipalDeposits() +
IOperatorStaking(address(stakeController)).getRemovedPrincipal(address(this));
}

Impact :

The withdrawn principal is included in the vault principal, therefore unless the monies are recovered by an upgrade to the vault, which would take time, the vault's behaviour would be flawed.

Tools Used :

manual review

Recommendations :

owner should be able to unstake removed principal.

Updates

Lead Judging Commences

inallhonesty Lead Judge
8 months ago
inallhonesty Lead Judge 8 months ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

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