Payouts
3rd Places
Top 10
Top 25
All
Code4rena
CodeHawks
Jan '25
high
Incorrect Credit Capacity Validation in `VaultRouterBranch.redeem` Enables Locked Collateral Drainage
high
Vaults weth reward is not distributed correctly
medium
Lack of credit capacity update from VaultRouterBranch::deposit causes DOS in CreditDelegationBranch::depositcreditformarket
medium
Mismatched slippage precision during deposit results in incorrect assertion of min-shares minted
low
`initiateSwap` allows users to initiate swap even when the vault is paused
Nov '24
high
Protocol allows creating broken tricrypto CPMM pools
high
Logical error in `validate_fees_are_paid` can cause a DoS or allow users to bypass fees if `denom_creation_fee` includes multiple coins including `pool_creation_fee` and the user attempts to pay all fees using only `pool_creation_fee`
high
User cannot claim rewards or close_position, due to vulnerable division by zero handling
high
Farms can be created to start in past epochs
medium
Wrong simulation function used in reverse operation path
medium
Penalty fees can be shared among future farms or expired farms, risks of exploits
medium
Single sided liquidity can't be used to lock LP tokens in the farm manager
Oct '24
Sep '24
Aug '24
high
settlement.cairo doesn't process callback correctly leading to CrossChainMsgStatus marked as SUCCESS even if it failed on destination chain
high
SettlementSignatureVerifier is missing check for duplicate validator signatures
high
In Starknet already processed messages can be re-submitted and by anyone
high
handler's `receive_cross_chain_callback()` will always set the tx_status to `SETTLED` on source chain & burn the tokens (MintBurn Mode) even when the msg fails on destination
medium
A cross-chain message can be initiated with invalid parameters
medium
inconsistency in sender address when creating cross chain messages on Starknet can lead to loss of funds
medium
Does not check if to_chain and to_handler is whitelisted in cross_chain_erc20_settlement
medium
Missing `ERC20Method` validation at destination allows non-transfer tx to be handled as transfers.
medium
Excessive Authority Granted to Managers in the `ckr_btc.cairo` Contract Presents Significant Management Risks
high
Incorrect set up and logic of `referralInfoMap` in `SystemConfig::updateReferrerInfo` function
high
Formulaic Error Rounds Down Causing Total Loss Of Funds For Bid Takers During Abort
low
Incorrect Check in closeBidOffer function
low
Validation of `collateralRate` in `PerMarkets::createOffer` function
low
CreateOffer allows eachTradeTax to be 100% ( 10000 bp ) violating code assumptions
low
Missing validation in `PreMarkets.abortBidTaker()` leading to funds lock.
low
The user will be able to close Bid Offer even in case if marketplace is not in BidSettling
Jul '24
high
Incorrect logic for checking isFillPriceValid
high
Wrong parameter passed in `TradingAccount::deductAccountMargin` function that results in excess margin withdrawal
medium
An Uninitialized Variable In The `MarketConfiguration::update` Function Causes The `PrepMarket::getIndexPrice` Function To Revert
low
UpgradeBranch.sol does not use _disableInitializers()
low
Trading accounts can exceed the maximum number of allowed open positions.
low
Settlement fills liquidatable Market Orders
low
Potential `EIP712` violation in multiple cases
May '24
high
Reallocation depends on the slot0 price, which can be manipulated.
medium
incorrect price for negative ticks due to lack of rounding down
medium
`updateIRMParams` does not call `applyInterestForToken` before updating `irmParams` which leads to incorrect calculation of interest rate for subsequent trades.
medium
Vaults can become immune from liquidation by setting `vault.recipient` to a blacklisted quote token address
medium
Chainlink's `latestRoundData` might return stale or incorrect results
Apr '24
high
In Dolomite, when opening a borrow position, the holding position in the Registry will never be updated due to the removePosition flag being set to true
high
It is possible to open insolvent position is Silo connector, due to missing check in borrow function
medium
The `TVLHelper.sol#getTVL` function is DOSed by the `under collateralized connector`, and as a result, many parts of the protocol may be DOS.
medium
Missing calls to `_updateTokenInRegistry` leads to incorrect state of tokens in registry
medium
Incorrect modifier condition
medium
Stale price can be used in `getValueFromChainlinkFeed` function
medium
Noya is not compatible with tokens whose balance changes outside of transfers causing funds to get stuck in the contract
medium
Registry deletes liquidity positions without verifying complete withdrawal.
Mar '24
Feb '24
Jan '24
Dec '23