Critical Findings


Token Identifier Collision

Severity: Critical

Ecosystem: OL Network

Protocol: StakeSphere

Auditor: MoveJay

Report: https://github.com/Jayfromthe13th/StakeSphere-stealth-/blob/Wallet/Audit.md

Report Date: Apr 2024

Description:

The get_pool_address function generates a unique address for a liquidity pool linked to trading pairs of fungible assets. This function creates and returns an address that uniquely identifies the liquidity pool for the specified pair of tokens. Users have the liberty to construct an Object using any symbol of their choice, which offers a great deal of flexibility. This flexibility, however, can lead to the creation of Object instances that closely resemble other existing instances. This situation might lead to a seed collision, which could subsequently cause a collision in the generation of the pool address.


Improper Implementation Of Positions

Severity: Critical

Ecosystem: Aptos

Protocol: Eternal Finance

Auditor: OtterSec

Report: https://ottersec.notion.site/Sampled-Public-Audit-Reports-a296e98838aa4fdb8f3b192663400772

Report Date: Jan 2023

Description:

In the bank.move module, the Position struct is utilized to store collateral share amounts and debts on a position. However, there exists an inconsistency in the implementation of positions between the bank.move and pancake_dex_worker.move modules. The bank module assumes that a position can manage the collateral and debts of multiple coins, whereas the worker module assumes that a position can only hold the collateral and debts for one coin pair. This inconsistency could result in the loss of funds.