项目简介
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.
关键发现
我们在该智能合约中共发现 13 个潜在问题,另有 3 条建议与 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 |
- |
更多细节见审计报告。