LRTOracle's getRSETHPrice() function iterates through all assets to retrieve prices. If one of these assets, especially an upgradeable contract, is compromised, an attacker can DoS on LRTOracle by manipulating certain view functions to consistently revert, such as in the example below:
Lines of code
https://github.com/code-423n4/2023-11-kelp/blob/main/src/LRTConfig.sol#L73-L89
Vulnerability details
Impact
The inability of LRTConfig to remove old assets can result in a potential DoS on LRTOracle.
Proof of Concept
The Manager can introduce a new asset to LRTConfig using:
LRTOracle's getRSETHPrice() function iterates through all assets to retrieve prices. If one of these assets, especially an upgradeable contract, is compromised, an attacker can DoS on LRTOracle by manipulating certain view functions to consistently revert, such as in the example below:
Tools Used
Manual review
Recommended Mitigation Steps
Add a function to allow the manager to remove an asset.
Assessed type
Other