Audit Open Original ↗
Spool Platform
Type
Security review
Client
The Spool DAO
Date
2023-03
Domain
AppSec
Effort
8 wks
Section
Technology Product Reviews
Trail of Bits's security review of The Spool DAO (Mar 2023) identified 38 issues: 5 high, 14 medium, 12 low, 5 informational, and 2 undetermined.
Findings · 38
- 1 Solidity compiler optimizations can be problematic Undetermined
- 2 Risk of SmartVaultFactory DoS due to lack of access controls on grantSmartVaultOwnership High
- 3 Lack of zero-value check on constructors and initializers Medium
- 4 Upgradeable contracts set state variables in the constructor Medium
- 5 Insu cient validation of oracle price data Low
- 6 Incorrect handling of fromVaultsOnly in removeStrategy Low
- 7 Risk of LinearAllocationProvider and ExponentialAllocationProvider reverts due to division by zero Medium
- 8 Strategy APYs are never updated Medium
- 9 Incorrect bookkeeping of assets deposited into smart vaults High
- 10 Risk of malformed calldata of calls to guard contracts Low
- 11 GuardManager does not account for all possible types when encoding guard arguments Low
- 12 Use of encoded values in guard contract comparisons could lead to opposite results Low
- 13 Lack of contract existence checks on low-level calls Low
- 14 Incorrect use of exchangeRates in doHardWork High
- 15 LinearAllocationProvider could return an incorrect result Medium
- 16 Incorrect formula used for adding/subtracting two yields Medium
- 17 Smart vaults with re-registered strategies will not be usable Low
- 18 Incorrect handling of partially burned NFTs results in incorrect SVT balance calculation Low
- 19 Transfers of D-NFTs result in double counting of SVT balance Medium
- 20 Flawed loop for syncing flushes results in higher management fees Medium
- 21 Incorrect ghost strategy check Informational
- 22 Reward configuration not initialized properly when reward is zero Low
- 23 Missing function for removing reward tokens from the blacklist Informational
- 24 Risk of unclaimed shares due to loss of precision in reallocation operations Informational
- 25 Curve3CoinPoolAdapter’s _addLiquidity reverts due to incorrect amounts deposited Medium
- 26 Reallocation process reverts when a ghost strategy is present High
- 27 Broken test cases that hide security issues Informational
- 28 Reward emission can be extended for a removed reward token Medium
- 29 A reward token cannot be added once it is removed from a smart vault Low
- 30 Missing whenNotPaused modifier Low
- 31 Users who deposit and then withdraw before doHardWork lose their tokens High
- 32 Lack of events emitted for state-changing functions Informational
- 33 Removal of a strategy could result in loss of funds Medium
- 34 ExponentialAllocationProvider reverts on strategies without risk scores Medium
- 35 Removing a strategy makes the smart vault unusable Medium
- 36 Issues with the management of access control roles in deployment script Low
- 37 Risk of DoS due to unbounded loops Medium
- 38 Unsafe casts throughout the codebase Undetermined
Findings extracted from the published report PDF. See the full report below for details and remediation.
Related