QA Report #149
Labels
bug
Something isn't working
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
Low Risk
...............................................................
initialize
function that initializes important contract state can be called by anyone.See:
##Impact##
The attacker can initialize the contract before the legitimate deployer, hoping that the victim continues to use the same contract.
##Recommended Mitigation Steps##
Use the constructor to initialize non-proxied contracts.
For initializing proxy contracts deploy contracts using a factory contract that immediately calls
initialize
after deployment or make sure to call it immediately after deployment and verify the transaction succeeded.2. Missing critical events and emits
YieldManager.setCurvePool() , YieldManager.registerAsset(), YieldManager.setExchangeToken(), LidoVault._withdrawFromYieldPool() and other withdraw functions
Tools Used
Manual review
Recommended Mitigation Steps
Add emit for the appropriate event for this function.
The text was updated successfully, but these errors were encountered: