
18x
Payouts

1x
1st Places

2x
2nd Places

1x
3rd Places
All
Sherlock
Code4rena
Cantina
CodeHawks
Feb '25
high
Deposits on long one leverage vault don't actually finalize the flow, leading to a Denial of Service (DoS)
high
Loss of fee refund due to premature state deletion in `PerpetualVault::_handleReturn` function
medium
Wrong index causes last depositor to always get execution fee refund if cancelFlow is called by keeper to cancel a withdrawal
medium
new deposits be incorrectly rejected due to false "maxCapReached" errors.
low
Fees not refunded to users on position closed and funds locked/lost
Jan '25
high
medium
Dec '24
high
high
high
high
medium
medium
medium
medium
medium
medium
medium
medium
medium
medium
medium
medium
medium
Nov '24
high
TaxTokenReceipt NFT will get stuck in the Auction contract.
high
sold `NFTs` will get stuck in `buyOrder` contract
medium
Inflated fees results in loss of funds for the borrower while extending loan.
medium
Borrower cannot extend his loan due to the incorrect comparison with feePerDay instead of minFee
Oct '24
Aug '24
high
accrueFee() calculates incorrect fees and totalAssets since the pool is not updated to the latest
high
Pool.sol:: Wrongly Implemented getSupplyBalance() , not returning the correct supplied asseets.
high
actualDebtToLiquidate is incorrectly calculated by assigning the share amount instead of the underlying assets , affecting the liquidator.
high
Pool.sol:liquidate()::Since cache.nextDebtShares is not updated prior wrong interest rate is calculated.
high
Pool.sol:liquidate()::LiquidityTaken is not considering the liquidationProtocolFeeAmount while calling updateInterestRate()
Jul '24
high
Number of entities in generation can surpass the 10k number
high
Wrong minting logic based on total token count across generations
medium
Forger Entities can forge more times than intended
medium
Discrepancy between nfts minted, price of nft when a generation changes & position of `_incrementGeneration()` inside `_mintInternal()` & `_mintNewEntity()`
high
Malicious User can call `lockOnBehalf` repeatedly extend a users `unlockTime`, removing their ability to withdraw previously locked tokens
high
Invalid validation allows users to unlock early
high
Single plot can be occupied by multiple renters
high
Failure to Update Dirty Flag in transferToUnoccupiedPlot Prevents Reward Accumulation On Valid Plot
high
Invalid validation in _farmPlots function allowing a malicious user repeated farming without locked funds
medium
Missing disapproval check in `LockManager.sol::approveUSDPrice` allows simultaneous approval and disapproval of a price proposal
medium
Players can gain more NFTs benefiting from that past remainder in subsequent locks
medium
Users can farm on zero-tax land if the landlord locked tokens before the LandManager deployment
high
BribeReward.sol :: User/Owner of a lsNFt is not able to earn bribe rewards since wrong msg.sender is passed.
high
BribeRewarder:: Users cant claim the pendingRewards from the previously closed Periods.
high
Voting.sol :: User can vote even if the lockPeriod has ended for their staked Position.
medium
BribeRewarder.sol: Owner wont be able to add funds on `fees on Transfer` Tokens.
medium
MlumStaking.sol::position.lockMultiplier is wrongly calculated resulting the user to earn less rewards than deserved.
medium
MlumStaking.sol :: Anyone can add to the stakedPosition resulting the lockTime of the actual owner to be extended to undefined time
Jun '24
high
Users won't liquidate positions because the logic used to calculate the liquidator's profit is incorrect
high
When `sellCreditMarket()` is called to sell credit for a specific cash amount, the protocol might receive a lower swapping fee than expected.
medium
Borrower is not able to compensate his lenders if he is underwater
medium
Users can not to buy/sell minimum credit allowed due to exactAmountIn condition
May '24
high
Malicious User can call `lockOnBehalf` repeatedly extend a users `unlockTime`, removing their ability to withdraw previously locked tokens
high
Invalid validation allows users to unlock early
high
Single plot can be occupied by multiple renters
high
Failure to Update Dirty Flag in transferToUnoccupiedPlot Prevents Reward Accumulation On Valid Plot
high
Invalid validation in _farmPlots function allowing a malicious user repeated farming without locked funds
medium
Missing disapproval check in `LockManager.sol::approveUSDPrice` allows simultaneous approval and disapproval of a price proposal
medium
Players can gain more NFTs benefiting from that past remainder in subsequent locks
medium
Users can farm on zero-tax land if the landlord locked tokens before the LandManager deployment