Omniscia Euler Finance Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in Euler Finance's Earn (Yield Aggregator) system.
As the project at hand implements an EIP-4626 vault that integrates with EIP-4626 based strategies, intricate care was put into ensuring that the flow of funds within the system conforms to the specifications and restrictions laid forth within the protocol's specification.
We validated that all state transitions of the system occur within sane criteria and that all rudimentary formulas within the system execute as expected. We pinpointed vulnerabilities within the system which could have had moderate ramifications to its overall operation, however, they were conveyed ahead of time to the Euler Finance team to be remediated as soon as possible.
Additionally, the system was investigated for any other commonly present attack vectors such as re-entrancy attacks, mathematical truncations, logical flaws and ERC / EIP standard inconsistencies. The documentation of the project was satisfactory to an exemplary extent, containing extensive in-line documentation as well as documentation within the repository itself in the form of technical documents.
A total of 21 findings were identified over the course of the manual review of which 8 findings concerned the behaviour and security of the system. The non-security related findings, such as optimizations, are included in the separate Code Style chapter.
The finding table below enumerates all these security / behavioural findings:
ID | Severity | Addressed | Title |
---|---|---|---|
FEE-01M | ![]() | ![]() | Inconsistent Maintenance of Performance Fee |
YAR-01M | ![]() | ![]() | Inexistent Override of Role Renunciation |
YAF-01M | ![]() | ![]() | Deprecated Nonce-Based Factory Mechanism |
YAV-01M | ![]() | ![]() | Capital-Inefficient Limitation Implementations of Allocation System |
YAV-02M | ![]() | ![]() | Unconditional Disbursement of Performance Fee |
YAV-03M | ![]() | ![]() | Incorrect Implementations of EIP-4626 Maximum Restrictions |
YAV-04M | ![]() | ![]() | Improper Evaluation of Vault Assets |
YAV-05M | ![]() | ![]() | Improper Restriction of Harvests |