Payouts
3rd Places
Top 10
Top 25
All
Sherlock
Code4rena
May '24
Apr '24
medium
AccountingManager has no correct implementations of the core ERC-4626 functions `deposit`, `mint`, `withdraw` and `redeem`
medium
`maxDeposit`, `maxMint`, `maxWithdraw`, and `maxRedeem` functions do not return 0 when they should
medium
`AccountingManager` contract's `previewDeposit`, `previewMint`, `previewWithdraw`, and `previewRedeem` functions are not compliant with EIP-4626 standard
medium
`depositQueue.queue` in `AccountingManager` can be flooded causing a DoS
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
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
medium
Incorrect deployment / missing contract will break functionality
Mar '24
high
`Vault.mintYieldFee` FUNCTION CAN BE CALLED BY ANYONE TO MINT `Vault Shares` TO ANY RECIPIENT ADDRESS
high
Any fee claim lesser than the total `yieldFeeBalance` as unit of shares is lost and locked in the `PrizeVault` contract
medium
`VaultFactory` allows deployment of vaults with non-authentic `TwabController` and `PrizePool`
medium
Lack of Slippage Protection in `withdraw`/`redeem` Functions of the Vault
Feb '24
high
Malicious user can stake an amount which causes zero curStakeAtRisk on a loss but equal rewardPoints to a fair user on a win
high
A locked fighter can be transferred; leads to game server unable to commit transactions, and unstoppable fighters
high
Since you can reroll with a different fighterType than the NFT you own, you can reroll bypassing maxRerollsAllowed and reroll attributes based on a different fighterType
high
Players have complete freedom to customize the fighter NFT when calling `redeemMintPass` and can redeem fighters of types Dendroid and with rare attributes
high
Fighters cannot be minted after the initial generation due to uninitialized `numElements` mapping
high
Non-transferable `GameItems` can be transferred with `GameItems::safeBatchTransferFrom(...)`
medium
Minter / Staker / Spender roles can never be revoked`..,
medium
Constraints of dailyAllowanceReplenishTime and allowanceRemaining during mint() can be bypassed by using alias accounts & safeTransferFrom()
medium
Burner role can not be revoked
medium
DoS in `MergingPool::claimRewards` function and potential DoS in `RankedBattle::claimNRN` function if called after a significant amount of rounds passed.
Jan '24
high
Attack to make ````CurveSubject```` to be a ````HoneyPot````
high
Unrestricted claiming of fees due to missing balance updates in `FeeSplitter`
high
Unauthorized Access to setCurves Function
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.
Dec '23
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
ProfitManager's "creditMultiplier" calculation does not count undistributed rewards; this can cause value losses to users
medium
Anyone can prolong the time for the rewards to get distributed
Nov '23
Oct '23
high
Attacker can drain all ETH from AuctionDemo when block.timestamp == auctionEndTime
high
Attacker can reenter to mint all the collection supply
high
Adversary can block `claimAuction()` due to push-strategy to transfer assets to multiple bidders
medium
`MinterContract::payArtist` can result in double the intended payout
medium
Test addresses and incorrect interface in code prevent integration with UniswapV3 and Camelot
medium
Due to extremely short `votingDelay` and `votingPeriod`, governance is practically impossible.
medium
`ODSafeManager#allowSAFE()` cannot be executed either by the proxy contract or any other address.
Sep '23
Aug '23
Jul '23
high
`Vault.mintYieldFee` FUNCTION CAN BE CALLED BY ANYONE TO MINT `Vault Shares` TO ANY RECIPIENT ADDRESS
high
Any fee claim lesser than the total `yieldFeeBalance` as unit of shares is lost and locked in the `PrizeVault` contract
medium
`VaultFactory` allows deployment of vaults with non-authentic `TwabController` and `PrizePool`
medium
Lack of Slippage Protection in `withdraw`/`redeem` Functions of the Vault
Jun '23
May '23
Apr '23
Mar '23
Feb '23
Jan '23
Dec '22
high
Inflation of ggAVAX share price by first depositor
medium
Users may not be able to redeem their shares due to underflow
medium
wrong reward distribution between early and late depositors because of the late syncRewards() call in the cycle, syncReward() logic should be executed in each withdraw or deposits (without reverting)
medium
`requireNextActiveMultisig` will always return the first enabled multisig which increases the probability of stuck minipools
Nov '22