DEPLOYER is a constant in Manager and it is the only role that can call setSherlockCoreAddress to change sherlockCore address. Consider this is a critical function and there might be a need to change the deplorer address in the future (e.g. governance upgrade), it would be better to use the inherited Ownable pattern to ensure the privileges can be transferred when required.
Handle
gzeon
Vulnerability details
Impact
DEPLOYER
is a constant inManager
and it is the only role that can callsetSherlockCoreAddress
to changesherlockCore
address. Consider this is a critical function and there might be a need to change the deplorer address in the future (e.g. governance upgrade), it would be better to use the inheritedOwnable
pattern to ensure the privileges can be transferred when required.Proof of Concept
https://github.com/code-423n4/2022-01-sherlock/blob/c763f10c4b5fe2127677d6c25b83adcf3bcec212/contracts/managers/Manager.sol#L35