Liquid Staking

Stakelink
DeFiHardhatOracle
50,000 USDC
View results
Submission Details
Severity: high
Valid

No transfer out function in `OperatorStakingPool`

Vulnerability Details

OperatorStakingPool.sol is meant to hold LST from operators. It receives them from an LST ERC677 transferAndCall() action. Yet the contract has no way of transferring those LST out of it.

There are no transfers neither approvals to other protocol contracts to use a transferFrom() and so on. Funds get stuck.
See the contract and the specific _withdraw() logic here.

Impact

Operators who send their LST to the OperatorStakingPool are stuck forever.

Recommendations

In the very same contract, on the withdraw() function, actually transfer them out.

Updates

Lead Judging Commences

inallhonesty Lead Judge about 1 year ago
Submission Judgement Published
Validated
Assigned finding tags:

`OperatorStakingPool::_withdraw()` function doesn't transfer the tokens

Support

FAQs

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