Payouts
1st Places
3rd Places
Top 10
All
Sherlock
Code4rena
CodeHawks
Immunefi
Dec '24
Nov '24
high
Stable swap pools don't properly handle assets with different decimals, forcing LPs to receive wrong shares
high
Stableswap does disjoint swaps, breaking the underlying invariant
high
Stableswap pool can be skewed free of fees
high
Protocol allows creating broken tricrypto CPMM pools
high
Multi-token stableswap pools allow 0 liquidity for tokens, creating bricked pools
high
Farms can be created to start in past epochs
medium
`withdraw_liquidity` lacks slippage protection
medium
Protocol fees are mistakenly configured by protocol pools rather than being imposed
medium
Single sided liquidity can't be used to lock LP tokens in the farm manager
medium
In edge cases, create_pool can either be reverted or allow user underpay fees.
medium
Spread calculation does not account for swap fees
Oct '24
Sep '24
Aug '24
high
Malicious actors can manipulate the `cross_chain_callback` callback
high
There is no refund mechanism in `ChakraSettlement.processCrossChainCallback` or `ChakraSettlementHandler.receive_cross_chain_callback` function
high
Inconsistent Handler Validation Behavior in Cairo ERC20Handler's Cross-Chain Callback
high
Anyone can manipulate user nonce (nonce_manager) in settlement contract
high
Forcing Starknet handlers to be whitlisted on the same chain allows exploit of `BurnUnlock` mode to drain handler funds
high
The LockMint and BurnUnlock modes cannot be used
high
SettlementSignatureVerifier is missing check for duplicate validator signatures
high
In Starknet already processed messages can be re-submitted and by anyone
high
Invalid token address used in `ChakraSettlementHandler::cross_chain_erc20_settlement(...)` leading to invalid transaction creation and event emission
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
Permanent loss of user tokens on both chains if `BurnUnlock` mode fails because of flawed burning pattern
medium
A cross-chain message can be initiated with invalid parameters
medium
Settlement contract is mistakenly used for the handler contract when assigning ReceivedCrossChainTx struct
medium
Incorrect decimals Setting for ckrBTC Token May Lead to User Confusion and Inaccurate Transaction Amounts
medium
Does not check if to_chain and to_handler is whitelisted in cross_chain_erc20_settlement
medium
Excessive Authority Granted to Managers in the `ckr_btc.cairo` Contract Presents Significant Management Risks
medium
high
Malicious users can exploit raffle cancellation to disrupt protocol functionality
high
Failure to update `_lockedETH` during refunds causes inaccurate revenue withdrawals
high
Lack of parameter validation in `propagateRaffleWinner` Leads to failed prize claims on mainnet
medium
Roles can not be revoked
medium
Admins can influence the odds of raffles
high
TokenManager - Unlimited withdraw
high
Taker of bid offer will loss assets without any benefit if he calls the DeliveryPlace::settleAskMaker() for partial settlement.
high
`DeliveryPlace::settleAskTaker` Has Incorrect Access Control
high
Formulaic Error Rounds Down Causing Total Loss Of Funds For Bid Takers During Abort
high
Malicious user can drain protocol by bypassing `ASK` offer abortion validation in `Turbo` mode
high
The `DeliveryPlace::settleAskTaker()` function mistakenly uses `makerInfo.tokenAddress` to update the `TokenBalanceType.PointToken` in the `userTokenBalanceMap` mapping, leading to a critical error.
high
listOffer maker can settle offer via settleAskMaker() in Turbo settle type.
low
Incorrect Check in closeBidOffer function
low
`PreMarket::createTaker` Should Update the `offerInfo.offerStatus` According to `amount usedPoints`
low
High risk of griefing attack during settlement period in Protected mode
Jul '24
high
`mintToken()`, `mintWithBudget()`, and `forge()` in the `TraitForgeNft` Contract Will Fail Due to a Wrong Modifier Used in `EntropyGenerator.initializeAlphaIndices()`
high
The maximum number of generations is infinite
high
Number of entities in generation can surpass the 10k number
high
Incorrect Percentage Calculation in NukeFund and EntityForging when `taxCut` is Changed from Default Value
high
Wrong minting logic based on total token count across generations
medium
There is no slippage check in the `nuke()` function.
medium
Forger Entities can forge more times than intended
medium
Pause and unpause functions are inaccessible
medium
Discrepancy between nfts minted, price of nft when a generation changes & position of `_incrementGeneration()` inside `_mintInternal()` & `_mintNewEntity()`
medium
Incorrect check against golden entropy value in the first two batches
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
Users can farm on zero-tax land if the landlord locked tokens before the LandManager deployment
medium
Not upadting `_totalAuctionTokenAllocation` when removing last auction config at cooldown leads to wrong accounting of `_totalAuctionTokenAllocation` and permanent lock of auction tokens
low
Auction tokens cannot be recovered for the first ever spice auction
low
TempleGold tokens cannot be recovered when a `DaiGoldAuction` ends with 0 bids
Apr '24
high
Attacker can make 0 value deposit() calls to deny user from redeeming or withdrawing collateral
high
Design flaw and mismanagement in vault licensing leads to double counting in collateral ratios and positions collateralized entirely with kerosine
high
Kerosene collateral is not being moved on liquidation, exposing liquidators to loss
high
Users can get their Kerosene stuck until TVL becomes greater than Dyad's supply
high
User can get their Kerosene stuck because of an invalid check on withdraw
medium
Incorrect deployment / missing contract will break functionality
medium
No incentive to liquidate when CR <= 1 as asset received < dyad burned
Mar '24
Feb '24
Dec '23