Omniscia Euler Finance Audit
YieldAggregator Manual Review Findings
YieldAggregator Manual Review Findings
YAR-01M: Inexistent Override of Role Renunciation
Type | Severity | Location |
---|---|---|
Standard Conformity | ![]() | YieldAggregator.sol:L89, L98 |
Description:
The YieldAggregator
implementation will override
the AccessControlUpgradeable::grantRole
and AccessControlUpgradeable::revokeRole
functions to restrict EVC based access to the account owner, however, the AccessControlUpgradeable::renounceRole
function remains as is.
Impact:
It is presently possible for a role to be renounced by a party that is not the actual EVC account owner.
Example:
src/YieldAggregator.sol
88/// @dev Overriding grantRole().89function grantRole(bytes32 role, address account)90 public91 override (IAccessControl, AccessControlUpgradeable)92 onlyEVCAccountOwner93{94 super.grantRole(role, account);95}96
97/// @dev Overriding revokeRole().98function revokeRole(bytes32 role, address account)99 public100 override (IAccessControl, AccessControlUpgradeable)101 onlyEVCAccountOwner102{103 super.revokeRole(role, account);104}
Recommendation:
We advise the AccessControlUpgradeable::renounceRole
function to be overridden accordingly, ensuring that only the EVC account owner can perform access control related operations on the YieldAggregator
.
Alleviation:
The AccessControlUpgradeable::renounceRole
function is appropriately overridden in the latest YieldAggregator
(now EulerEarn
) implementation, addressing this exhibit.