High
Total
Medium
Solo
Total
Total Earnings
#210 All Time
Payouts
1st Places
2nd Places
3rd Places
All
Code4rena
Cantina
CodeHawks
Apr '25
high
Buffer Silently Locks Staked HYPE in Contract Without Using Them For Withdrawals Or Providing A Way To Be Pulled Out Or Moved To L1
medium
Processing all withdrawals before all deposits can cause some deposit to not be delegated in `processL1Operations`
medium
Incorrect Balance Check in Validator Redelegation Process May Block Legitimate Rebalancing Operations
Mar '25
high
Jan '25
high
Underflow when updating credit delegation will result protocol DoS
high
Unclaimed Rewards Loss Due to Missing Validation in `VaultRouterBranch.stake()`
medium
Incorrect weight assignment in Vault::updateVaultAndCreditDelegationWeight leads to overleveraging vault positions and insolvency
medium
Slippage Higher than Expected in `CurveAdapter.executeSwapExactInput()` and `FeeDistributionBranch._performMultiDexSwap()` Multi-Hop Swaps
medium
Decimal Precision Mismatch Causing Incorrect Swap Reverts in `StabilityBranch.initiateSwap()`
low
CurveAdapter uses non-existent exchange_with_best_rate() method, breaking fee conversion on Arbitrum.
Dec '24
high
LamboFactory can be permanently DoS-ed due to createPair call reversal
high
Minting zero tokens when underlyingToken is not Ether in cashIn()
high
Calculation for `directionMask` is incorrect
medium
Since the cost of launching a new pool is minimal, an attacker can maliciously consume VirtualTokens.
medium
`LamboRebalanceOnUniswap::_getTokenInOut` formula used to compute rebalancing amount is wrong for a UniV3 pool
medium
`sellQuote` and `buyQuote` are missing deadline check in `LamboVEthRouter`
Aug '24
high
Lenders can escape the blacklisting of their accounts because they can move their MarketTokens to different accounts and gain the WithdrawOnly Role on any account they want
medium
Blocked accounts keep earning interest contrary to the WhitePaper
medium
AccessControlHooks onQueueWithdrawal() does not check if market is hooked which could lead to unexpected errors such as temporary DoS
medium
Role providers cannot be EOAs as stated in the documentation.
medium
Inconsistency across multiple repaying functions causing lender to pay extra fees.
medium
`FixedTermLoanHooks` allow Borrower to update Annual Interest before end of the "Fixed Term Period"
Jul '24
high
`Flashlender.sol#flashLoan()` should use `mintProfit()` to mint fees. The current implemetation may lead to locked up WETH in PoolV3.
medium
Because of the Asset:Share 1:1 Conversion, if Vault Incur a Loss, the Last User to Withdraw Will Take The Entire Loss
medium
DOS attack to SwapAction.transferAndSwap() when using an ERC20 permit transferFrom.
medium
Malicious actor can abuse the minimum shares check in `StakingLPEth` and cause DoS or locked funds for the last user that withdraws
medium
`PendleLPOracle::_fetchAndValidate` uses Chainlink's deprecated `answeredInRound`
Jun '24
May '24
Apr '24
high
Design flaw and mismanagement in vault licensing leads to double counting in collateral ratios and positions collateralized entirely with kerosine
high
Users can get their Kerosene stuck until TVL becomes greater than Dyad's supply
high
Unable to withdraw Kerosene from `vaultmanagerv2::withdraw` as it expects a `vault.oracle()` method which is missing in Kerosene vaults
high
Attacker Can Frontruns User's Withdrawals To Make Them Reverts Without Costs
medium
Value of kerosene can be manipulated to force liquidate users
medium
setUnboundedKerosineVault not called during deployment, causing reverts when querying for Kerosene value after adding it as a Kerosene vault
medium
No incentive to liquidate when CR <= 1 as asset received < dyad burned
Mar '24
Jan '24
Dec '23
high
Rewards can be drained because of lack of access control
medium
No incentive to liquidate small positions could result in protocol going underwater
medium
Divergence in the pricing method for collateral within the `calculateMinimumAmountOut()` may result in vaults transitioning into an uncollateralized state after executing swaps.
medium
Wrong Implementation of `LiquidationPool::empty` excludes holder with pending stakes when decreasing a position, resulting in exclusion from asset distribution
medium
Attacker can force reduce `minAmountOut` from vault swaps, making they vulnerable to being sandwiched.
low
Anyone with TST tokens can monitor the mempool and frontrun mint/burn functions to get EUROs rewards without even staking.
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
Anyone can prolong the time for the rewards to get distributed
medium
Malicious borrower can decrease Guild holders reward
Oct '23
high
Lenders can escape the blacklisting of their accounts because they can move their MarketTokens to different accounts and gain the WithdrawOnly Role on any account they want
medium
Blocked accounts keep earning interest contrary to the WhitePaper
medium
AccessControlHooks onQueueWithdrawal() does not check if market is hooked which could lead to unexpected errors such as temporary DoS
medium
Role providers cannot be EOAs as stated in the documentation.
medium
Inconsistency across multiple repaying functions causing lender to pay extra fees.
medium
`FixedTermLoanHooks` allow Borrower to update Annual Interest before end of the "Fixed Term Period"
Aug '23
Jul '23
May '23
Mar '23