Payouts
1st Places
2nd Places
3rd Places
All
Sherlock
Code4rena
Cantina
CodeHawks
Jan '25
high
high
medium
medium
medium
Dec '24
high
high
high
medium
medium
Nov '24
Sep '24
medium
medium
Aug '24
high
Users are unable to withdraw their funds due to the incorrect handling of treasury shares
high
The liquidation process is not functioning correctly
high
The protocol fee is not being deducted from the liquidatee's balance during liquidation
high
The interest rate for debt assets is being incorrectly updated during the liquidation process
high
The interest rate is incorrectly updated when debt is repaid
high
The balance calculation is incorrect
high
Users can receive additional shares in the curated vault
medium
The interest rate for the collateral asset is incorrectly calculated during liquidation
medium
The rewards distribution in the NFTPositionManager is unfair
medium
The repayment process in the NFTPositionManager can sometimes be reverted
Jul '24
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.
high
The collateral remainder cap is incorrectly calculated during liquidation
medium
Borrower is not able to compensate his lenders if he is underwater
medium
`executeBuyCreditMarket` returns the wrong amount of cash and overestimates the amount that needs to be checked in the variable pool
medium
Users can not to buy/sell minimum credit allowed due to exactAmountIn condition
medium
Multicall does not work as intended
medium
LiquidateWithReplacement does not charge swap fees on the borrower
medium
withdraw() users may can't withdraw underlyingBorrowToken properly
Findings not publicly available for private contests.
May '24
Apr '24
high
When the borrower is liquidated, there will be some funds untracked in the market.
medium
Borrowers can profit by borrowing and repaying before the maturity date.
medium
When bad debts are cleared, there will be some untracked funds
medium
The rewards are being distributed incorrectly because the lastConfig is updated inaccurately.
medium
Rewards can disappear when new rewards are distributed in the RewardsController.
medium
The claimable rewards amount for borrowers decreases over time
high
Checkpoints for total supply and balance are incorrectly updated when revoking the vesting schedule.
high
Initial depositors are unable to airdrop ZVE tokens correctly in the Initial Tranche Offering
high
There is an error in the claimRewards function within the OCY_Convex_A and OCY_Convex_C contracts
medium
The addition of liquidity to the Uniswap V2 pool can be reverted because the Uniswap V2 router doesn't use all allowed tokens.
Mar '24
high
The information of lots with an id greater than 0 will be lost, potentially resulting in a loss of funds for the users.
high
We are unable to claim gas fees for BlastEMPAM and BlastLinearVesting on Blast
high
Auction creators have the ability to lock bidders' funds.
high
Bidders can not claim their bids if the auction creator claims the proceeds.
high
Auction creators may lose their funds if the quote token behaves like LEND token, reverting on transfer of 0 tokens.
high
Bidders' funds may become locked due to inconsistent price order checks in MaxPriorityQueue and the _claimBid function.
high
The auction creator can not claim the Proceeds if some bidders have already claimed their bids.
medium
An auction creator can lose funds in FPAM.
medium
If bidders purchase derivatives in an auction and the expiration date of derivatives has passed, they can not claim base tokens from those derivatives.
high
Anyone making use of the MagicLP's TWAP to determine token prices will be exploitable.
high
Users who deposited MIM and USDB tokens into BlastOnboarding may incur losses when the pool is created via bootstrap
medium
Miscalculation in addLiquidity of Router results in unauthorized spending of tokens
medium
User can grief bootstrap process by sending the cap amount of unlocked tokens to it.
medium
MagicLpAggregator doesn't consider the dcimal of MagicLP
Feb '24
Jan '24
high
When borrowers repay USDS, it is sent to the wrong address, allowing anyone to burn Protocol Owned Liquidity and build bad debt for USDS
high
First depositor can break staking-rewards accounting
high
First Liquidity provider can claim all initial pool rewards
medium
Persistent Contract Call revert prevents finalizing a ballot
medium
THE USER WHO WITHDRAWS LIQUIDITY FROM A PARTICULAR POOL IS ABLE TO CLAIM MORE REWARDS THAN HE DULY DESERVES BY CAREFULLY SELECTING A `decreaseShareAmount` VALUE SUCH THAT THE `virtualRewardsToRemove` IS ROUNDED DOWN TO ZERO
medium
No proposal time limit traps sponsors of unpopular proposals
medium
changeWallets() can be confirmed immediately after proposalWallets() by manipulating activeTimelock beforehand
high
Unauthorized Access to setCurves Function
medium
Protocol and referral fee would be permanently stuck in the Curves contract when selling a token
medium
Selling will be bricked if all other tokens are withdrawn to ERC20 token
medium
onBalanceChange causes previously unclaimed rewards to be cleared
medium
Stuck rewards in `FeeSplitter` contract
medium
Curves::_buyCurvesToken(), Excess of Eth received is not refunded back to the user.
medium
Withdrawing with amount = 0 will forcefully set name and symbol to default and disable some functions for token subject
medium
If a user sets their curve token symbol as the default one plus the next token counter instance it will render the whole default naming functionality obsolete
Dec '23
high
The userGaugeProfitIndex is not set correctly, allowing an attacker to receive rewards without waiting
high
Users staking via the `SurplusGuildMinter` can be immediately slashed when staking into a gauge that had previously incurred a loss
medium
Wrong ProfitManager in GuildToken, will always revert for other types of gauges leading to bad debt
medium
Users can deflate other markets Guild holders rewards by staking less priced token
medium
Replay attack to suddenly offboard the re-onboarded lending term
medium
`totalBorrowedCredit` can revert, breaking gauges.
medium
ProfitManager's "creditMultiplier" calculation does not count undistributed rewards; this can cause value losses to users
medium
Rounding errors can cause ERC20RebaseDistributor transfers and mints to fail for underflow
medium
Incorrect calculations in debtCeiling
medium
LendingTerm::debtCeiling() can return wrong debt as the min() is evaluated incorrectly
medium
Anyone can prolong the time for the rewards to get distributed
medium
Malicious borrower can decrease Guild holders reward
Nov '23
897.48 USDC • 2 total findings • Code4rena • ether_sky
#4
Oct '23
8,768.05 USDC • 2 total findings • Code4rena • ether_sky
Sep '23
Aug '23