Zoniqx is a fintech company that specializes in the tokenization of real-world assets (RWAs) into digital securities.
Low | Medium | High | Critical | Total | |
---|---|---|---|---|---|
Not fixed | - | - | 1 | - | 1 |
Fixed | 13 | - | 3 | - | 16 |
Total | 13 | 0 | 4 | 0 | 17 |
not_fixed/high
According to the specifications of the ERC7518 smart contract, the freeze functionality is designed to freeze the operations of any user to restrict the transfers and usage of tokens. However the current implementation has certain limitations that cause hindrance for normal and power users;1. A frozen account can still have its funds force transfered by an authorized role which goes against the specifications of the ERC7518 token standard as stated below (an excerpt from the erc7518 specs): > MUST revert if to address is Frozen. 2. A frozen account can stil recieve payouts by a payout role power user for its profits generated from locked funds which should not be possible given the specifications of the ERC7518 token standard as stated below (an excerpt from the erc7518 specs for freezeAddress()): > MUST prevent account to transfer and payout. 3. The authorized roles like the default admin, payout role, minter role etc can also be frozen to perform any operations concerning the tokens. This functionality can prove to be vulnerable even if the freezing limitations are made applicable according to their correct definitions when certain normal or power users are restricted for the token standard's functionalities like transfer and usage of tokens as stated below (an excerpt from the erc7518 specs): > MUST revert if the from address is not Frozen.
# | File Name |
---|---|
1 | contracts/ERC1155Mod.sol |
2 | IMarketPlace.sol |
3 | FreezeAddress.sol |
4 | contracts/module/IssuerFactory.sol |
5 | STOBaseV2.sol |
6 | contracts/module/ERC2771ContextUpgradeable.sol |
7 | contracts/module/PaymentTracker.sol |
8 | ERC7518.sol |
9 | ERC1155Permit.sol |
10 | Payout.sol |