CertiK reviewed ParaSpace Lending V1 (ParaSpace - NFT Money Market) on 25 Oct 2022: 23 findings, 2 critical; 14 marked fixed, 1 acknowledged, 8 open.
Report hosted on skynet.certik.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 2 |
| High | 0 | 1 | 1 |
| Medium | 1 | 0 | 3 |
| Low | 7 | 0 | 8 |
In the contract `Pool`, the role `onlyPoolAdmin` has authority over the following functions: - function rescueTokens(), to transfer any ERC20 tokens in the contract to any `to` address. Any compromise to the `onlyPoolAdmin` account may allow a hacker to take advantage of this authority. In the contract `Pool`, the role `onlyPoolConfigurator` has authority over the following functions: - function initReserve(), to initialize a reserve, activate it, assign an `NToken`/`PToken` and debt tokens and an interest rate strategy. - function dropReserve(), to drop a reserve. - function setReserveInterestRateStrategyAddress(), to update the address of the interest rate strategy contract. - function setReserveAuctionStrategyAddress(), to update the address of the auction strategy contract. - function setReserveDynamicConfigsStrategyAddress(), to update the address of the dynamic configs strategy contract. - function setConfiguration(), to set the configuration bitmap of the reserve as a whole. - function setAuctionConfiguration(), to set the auction configuration bitmap of the reserve as a whole. - function setMaxAtomicTokensAllowed(), to set the maximum allowed atomic tokens per user. Any compromise to the `onlyPoolConfigurator` account may allow a hacker to take advantage of this authority. In the contract `ACLManager`, the role `DEFAULT_ADMIN_ROLE` has authority over the following functions: - function setRoleAdmin(), to set the role as admin of a specific role. Any compromise to the `DEFAULT_ADMIN_ROLE` account may allow a hacker to take advantage of this authority. In the contract `PoolAddressesProvider`, the role `Owner` has authority over the following functions: - function setMarketId(), to associate an id with a specific PoolAddressesProvider. - function setAddress(), to set an address for an id replacing the address saved in the addresses map. - function setAddressAsProxy(), to update the implementation of a proxy registered with certain `id`. If there is no proxy registered, it will instantiate one and set as implementation the `newImplementationAddress`. - function setPoolImpl(), to update the implementation of the Pool or creates a proxy setting for the new `pool` implementation when the function is called for the first time. - function setPriceOracle(), to update the address of the price oracle. - function setACLManager(), to update the address of the ACL manager. - function setACLAdmin(), to update the address of the ACL admin. - function setPriceOracleSentinel(), to update the address of the price oracle sentinel. - function setPoolDataProvider(), to update the address of the data provider. - function setWETH(), to update the address of the WETH. - function setMarketplace(),to update the info of the marketplace. Any compromise to the `Owner` account may allow a hacker to take advantage of this authority. In the contract `PoolAddressesProviderRegistry`, the role `Owner` has authority over the following functions: - function registerAddressesProvider(), to register an addresses provider. - function unregisterAddressesProvider(), to remove an addresses provider from the list of registered addresses providers. Any compromise to the `Owner` account may allow a hacker to take advantage of this authority. In the contract `PriceOracleSentinel`, the role `onlyPoolAdmin` has authority over the following functions: - function setSequencerOracle(), to update the address of the sequencer oracle. Any compromise to the `onlyPoolAdmin` account may allow a hacker to take advantage of this authority. In the contract `PriceOracleSentinel`, the role `onlyRiskOrPoolAdmins` has authority over the following functions: - function setGracePeriod(), to update the duration of the grace period. Any compromise to the `onlyRiskOrPoolAdmins` account may allow a hacker to take advantage of this authority. In the contract `PoolConfigurator`, the role `onlyPoolAdmin` has authority over the following functions: - function dropReserve(), to drop a reserve entirely. - function updatePToken(), to update the PToken implementation for the reserve. - function updateStableDebtToken(), to update the stable debt token implementation for the reserve. - function updateVariableDebtToken(), to update the variable debt token implementation for the asset. - function setReserveActive(), to activate or deactivate a reserve. Any compromise to the `onlyPoolAdmin` account may allow a hacker to take advantage of this authority. In the contract `PoolConfigurator`, the role `onlyRiskOrPoolAdmins` has authority over the following functions: - function setReserveBorrowing(), to configure borrowing on a reserve. - function configureReserveAsCollateral(), to configure the reserve collateralization parameters. - function configureReserveAsAuctionCollateral(), to configure the reserve collateralization parameters. - function setReserveStableRateBorrowing(), to enable or disable stable rate borrowing on a reserve. - function setR
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (30)
1,044 projects reviewed · 1,375 reports · latest May 2025
See CertiK’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