Omniscia Tangible Audit
Manual Review
Manual Review
A thorough line-by-line review was conducted on the codebase to identify potential malfunctions and vulnerabilities in Tangible's NFT basket implementation.
As the project at hand implements a multi-asset vault, intricate care was put into ensuring that the flow of funds & assets 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 two significant vulnerabilities within the system which could have had severe ramifications to its overall operation in addition to several medium-severity vulnerabilities. We strongly urge the Tangible team to promptly evaluate and remediate all non-minor findings identified in the audit report.
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 the extent it need be.
A total of 47 findings were identified over the course of the manual review of which 23 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 |
---|---|---|---|
BTE-01M | Inexplicable Update of Primary Rent Token | ||
BTE-02M | Inexplicable Usage of Unchecked Arithmetic | ||
BTE-03M | Improper Assumptions of Interaction | ||
BTE-04M | Improper NFT Receipt Flow | ||
BTE-05M | Incorrect Share Quotations | ||
BTE-06M | Inexistent Application of Rent Fee | ||
BTE-07M | Inexistent Association of Redeemed NFT | ||
BTE-08M | Inexistent Validation of Rent Fee | ||
BTE-09M | Potential Re-Roll of Redeemable NFT | ||
BTE-10M | Inexistent Synchronization of Rebase State | ||
BTE-11M | Nefarious Rebase Re-Entrancy Dilution | ||
BTE-12M | Potentially Malicious Rent Token | ||
BTE-13M | Incorrect Calculation of Rental Income | ||
BTE-14M | Significantly Dangerous Untrusted Call | ||
BBP-01M | Proxy Signature Incompatibility | ||
BMR-01M | Improper NFT Receipt Flow | ||
BMR-02M | Improper Transfer of EIP-20 Asset | ||
BMR-03M | Incorrect Hashing of Data | ||
BMR-04M | Unscalable Iteration of Baskets | ||
BMR-05M | Basket Deployment Race Condition | ||
BMR-06M | Bypass of Basket Uniqueness Invariant | ||
BVC-01M | Non-Compliance w/ Checks-Effects-Interactions Pattern | ||
GVR-01M | Non-Compliance w/ Checks-Effects-Interactions Pattern |