Approvals are not revoked when changing the strategy #856
Labels
bug
Something isn't working
downgraded by judge
Judge downgraded the risk level of this issue
duplicate-70
grade-b
insufficient quality report
This report is not of sufficient quality
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
Lines of code
https://github.com/code-423n4/2023-11-kelp/blob/main/src/NodeDelegator.sol#L45
Vulnerability details
Impact
Even if you remove a strategy, it can still control NodeDelegator funds due to an oversight in approvals not being revoked.
Proof of Concept
maxApproveToEigenStrategyManager()
is used to approve the maximum amount for EIGEN_STRATEGY_MANAGER:However, changing EIGEN_STRATEGY_MANAGER in LRTConfig can lead to issues, as old strategies may still control NodeDelegator funds. This poses a security risk if an attacker compromises an old strategy.
Therefore, old strategy's will still be able to manage
NodeDelegator
balance, this could be a problem if the old strategy was compromised by an attacker.Tools Used
Manual review
Recommended Mitigation Steps
Revoke the old approvals when a new strategy is set.
Assessed type
ERC20
The text was updated successfully, but these errors were encountered: