Payouts
2nd Places
Top 10
Top 25
All
Sherlock
Code4rena
May '25
high
wrong calculation of amount of Ltokens to seize in liquidateCrossChain function
high
malicious liquidator can get collateral tokens of borrower in chainA even if he doesn't pay repay tokens in chainB
high
DOS of _handleLiquidationSuccess function due to using incorrect underlying address as input of lendStorage.findCrossChainCollateral function
high
DOS of _handleLiquidationSuccess function due to using currentEId as input in lendStorage.findCrossChainCollateral function instead of using srcEid of chain which trigger execution of _handleLiquidationSuccess in this chain
high
DOS of _handleLiquidationSuccess function due to using payload.srcToken as input in lendStorage.findCrossChainCollateral function instead of using corresponding borrowed token of chain A
high
removing a ltoken from userBorrowedAssets will out properly checking weather he still has any borrows of this token
high
incorrect update of user borrowed assets
high
incorrect calculation of totalBorrowed amount of user
high
Incorrect calculation of total user borrowed assets due to incorrect check in borrowWithInterest function
high
wrong check in coreRouter::Borrow function allows users to borrow even if they don't have sufficient collateral
high
unfair liquidation due to incorrect calculation of borrowed funds
high
incorrect distribution of Lend tokens to users
medium
user can't borrow even if he has sufficient collateral due to wrong calculation of collateral of user
medium
liquidation will revert due to incorrect calculation of maxClose value
medium
No incentive to liquidate small positions could result in protocol going underwater
medium
bad debt is not accounted for during partial liquidation of an insolvent position
high
Tiers of users surrounding Tier2-Tier3 boundary were not updated correctly if a new user stakes when total users in tiering system is in form of 10N+4.
high
Tiers of users surrounding Tier2-Tier3 boundary were not updated correctly if a staker in Tier 3 of tiering system unstakes when total users in tiering system is in form of 10N+5
Jan '25
Dec '24
high
attacker can drain contract funds by creating->cancelling->modifying orders in Bracket contract
high
Attacker can drain contract funds by creating 2 orders in same block with different Input amounts(1st small amountIn 2nd with larger amountIn
high
attacker can drain StopLimit contract funds through Bracket contract because it gives type(uint256).max allowance to bracket contract for input token in performUpkeep function
Nov '24
Jul '24