background
logo

Security Audit Report for Morph's Morph Reth

DESCRIPTION

The target of this audit is the code repository of Morph Reth of Morph. Please refer to the report for the detailed audit scope.

Our audit methodology employs automated vulnerability scans, manual verification, and business logic analysis to uncover potential security issues coupled with gas and code quality optimization recommendations.

In summary, we have found that the codebase contains 4 high-risk issues that require prompt attention. In addition, we have identified other non-critical issues as well as recommendations and notes that should be considered. The Morph Reth team has addressed these issues promptly. It is important to note that our audit covers only the final reported versions of the codebase. Any subsequent updates would require a re-evaluation.

KEY FINDINGS

In total, we find 13 potential issues in the smart contract. We also have 3 recommendations and 2 notes, as follows:

High Risk: 4
Medium Risk: 0
Low Risk: 9
Recommendation: 3
Note: 2
ID Severity Description Status
1 High Potential chain state inconsistency due to incorrect MorphTx version detection logic Fixed
2 High Potential chain state inconsistency due to incorrect fee validation logic Fixed
3 High Potential transaction version inconsistency due to incorrect MorphTx version selection logic Fixed
4 High Potential transaction type inconsistency due to incorrect gas_price handling in MorphTx construction Fixed
5 Low Inconsistent rounding direction for token fee gas estimation Confirmed
6 Low Lack of trie backend configuration check in block assembly Confirmed
7 Low Improper logic in function validate_version() Fixed
8 Low Lack of gas_limit check in function maintain_morph_pool() Fixed
9 Low Non-Atomic canonical head lookup in function current_head() Fixed
10 Low Underestimated token fee in MorphTx pool validation Fixed
11 Low Lack of default chain_id handling in MorphTx RPC construction Fixed
12 Low Lack of RPC input validation in MorphTx construction Fixed
13 Low Inconsistent gas estimation behavior between Rust and Go clients implementation Confirmed
14 - Update the precompile set comment reference Fixed
15 - Apply MorphTx validation in the RPC simulation path Confirmed
16 - Handle database read errors in storage original_value restoration Confirmed
17 - Trusted token and oracle assumptions -
18 - Trusted upstream Revm baseline -

More details are provided in the audit report.

Take the first step towards a secure future

Reach out now for BlockSec's expert code audit services, elevate the security of your protocol before it goes live!