Payouts
1st Places
2nd Places
3rd Places
All
Sherlock
Code4rena
Cantina
CodeHawks
Immunefi
Hats Finance
Jan '25
high
high
high
high
medium
medium
medium
Dec '24
high
Critical: Malicious user can delete all Users Deposited Liquidity.
high
Fee Evasion via LP Token Transfer Resets Deposit Value
high
Slight miscalculation in maxAmountsIn for Admin Fee Logic in UpliftOnlyExample::onAfterRemoveLiquidity Causes Lock of All Funds
high
Loss of Fees for Router `UpliftOnlyExample` due to Division Rounding in Admin Fee Calculation, Causing Unfair Fee Distribution
high
Owner fee will be locked in `UpliftOnlyExample` contract due to incorrect recipient address in `UpliftOnlyExample::onAfterSwap`
high
Donations are sanwichable to steal funds from LP
high
fees sent to QuantAMMAdmin is stuck forever as there is no function to retrieve them
high
Incorrect uplift fee calculation leads to LPs incurring more fees than expected
medium
quantAMMSwapFeeTake used for both getQuantAMMSwapFeeTake and getQuantAMMUpliftFeeTake.
medium
`setUpdateWeightRunnerAddress` could break the protocol
medium
“Uplift Fee” Incorrectly Falls Back to Minimum Fee Due to Integer Division
medium
Transferring deposit NFT doesn't check if the receiver exceeds the 100 deposit limit
medium
Users transferring their NFT position will retroactively get the new `upliftFeeBps`
medium
Last withdrawer will donate fees to empty pool allowing MEV and having always stuck funds in the pool
medium
in `UpliftOnlyExample`, Immutable UpdateWeightRunner Address Prevents Seamless Contract Migration
medium
Moving Average Length Validation Prevents Admin Override for Rules Requiring Historical Data
low
missing implementation for a function to change upliftFee
low
Protocol Fees Diminished Due to Admin Fee Payment on Liquidity Removal
low
`minWithdrawalFeeBps` are not added to `upliftFeeBps` causing loss of fees and allowing MEV actions
low
medium
Incorrect Total Assets Calculation in _harvestAndReport Leading to Share Value Manipulation and Irredeemable Assets
medium
not adding `claimable` balance to the total assets in `_harvestAndReport` can cause losses.
medium
Inflated `totalAssets` in `StrategyMainnet`, `StrategyArb`, and `StrategyOp` Contracts
high
Cancel doesn't remove orders mappings, allowing attacker to modify it to extract funds again
high
in oracleLess, attacker can create two orders in same block to steal funds
high
cross function reentrency to cause loss of funds to user by malicious `target`
high
users that gave approvals to `stopLimit` contract can be drained
high
Attacker can use malicious token with hook in `oracleLess` to cause loss of funds to users
medium
attacker can dos the time sensetive `fillStopLimitOrder::stopLimit`
medium
wrong logical operator in `PythOracle` Forcing Stale prices only
Oct '24
Sep '24
high
relisting previously liquidated NFT will cause loss of funds to new owner
high
reserving a previously liquidated Token will cause loss of funds to new owner
high
`Listings::reserve()` doesn't delete reserved listings causing integration issue
high
Voters lose their tokens due to misconfiguration in `cancel` function
high
Malicious Whale can cause Loss of Fees of LP Providers
high
User Initializing a Pool will have his funds stuck
high
Owner of Bridged ERC1155 Royalties can't claim them
high
Attacker can frontrun large fee deposits from `fillListing`
medium
Malicious user can prevent `lockerManager` from executing `CollectionShutdown` function
medium
Malicious user can bypass execution of `CollectionShutdown` function
medium
EdgeCase in `CollectionShutdown` leading to funds being stuck.
medium
Malicious Whale can manipulate `totalsupply` to liquidate or illiquidate a liqudiateable listing
medium
Broken core contract functionality `UniswapImplementation::setFeeExemption` making `exemptionFee` is never useable
medium
User extra funds during Pool initializtion would be stuck in `UniswapImplementation`
Aug '24
Jul '24
high
in `BribeRewarder::_modify()` the check of the ownership of the `tokenId` with `msg.sender` as the passed parameter will make `voter::vote()` always revert
high
unchecked (finished `lockDuration` of `mlumStaking` positions) during `vote()` opening up the ability to double vote with same funds in the same period.
medium
Pools should be compatible with weird `ERC20` behaviours, `MasterChefV2` is incompatibile with Rebasing tokens leading to bad consequences.