Audit · firm’s term: audit
Quantstamp reviewed Secured Finance (Secured Finance - Diff Audit) on 29 Mar 2024: 14 findings, 0 critical; 9 marked fixed, 5 acknowledged.
Report hosted on certificate.quantstamp.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 0 | 0 |
| Medium | 0 | 0 | 2 |
| Low | 0 | 5 | 7 |
Users can become close to being liquidated if they have ZC bonds that are used as collateral and convert their maximum balance of the withdrawable amount. In this extreme case, a liquidation can happen in the next block if a slight update of the price happens.
When a user calls a function that uses permit signatures to approve the tokens for deposit, the signature parameters can be pulled from the the mempool and used to approve the token directly. Since the permit signature uses nonce protection, the original function call would fail if someone else used the signature first. This affects all functions that use `permit()` to approve tokens before transferring them.
The functions `LendingMarketUserLogic._getWithdrawableAmount()` and `FundManagementLogic.calculateFunds()` apply haircuts to values, which are stored in the `CurrencyController` contract. However, all the currencies in the deployed contract at `0x7dca6b6BF30cd28ADe83e86e21e82e3F852bF2DC` (address taken from the [docs](https://docs.secured.finance/technical-guide/deployed-contracts)) have zero values as their haircuts. This may lead to unwanted consequences when risk management is required while valuing user assets.
In addition to the roles described in the previous audit report, the owner can create new ZCTokens.
The new version of the codebase brings two additional functions letting users deposit tokens to the contract using permission signatures (ERC2612). However, not all tokens support this feature. Worse, few ERC20 tokens such as WETH can offer a `fallback()` function that will lead to any attempt to execute the function `permit()` on this contract to silently fail (concept of phantom functions). Even if right now, no concrete impact was found since only `msg.sender` can originate a signature that will transfer tokens from its address, silent failures should be avoided.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (77)
236 projects reviewed · 332 reports · latest Oct 2026
See Quantstamp’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us