Payouts
2nd Places
Top 10
Top 25
All
Sherlock
Code4rena
Jul '24
Apr '24
high
Attacker can make 0 value deposit() calls to deny user from redeeming or withdrawing collateral
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
Unable to withdraw Kerosene from `vaultmanagerv2::withdraw` as it expects a `vault.oracle()` method which is missing in Kerosene vaults
medium
Attacker can frontrun to prevent vaults from being removed from the dNFT owner's position
medium
Incorrect deployment / missing contract will break functionality
Feb '24
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
Player can mint more fighter NFTs during claim of rewards by leveraging reentrancy on the `claimRewards() function `
high
Fighters cannot be minted after the initial generation due to uninitialized `numElements` mapping
high
Non-transferable `GameItems` can be transferred with `GameItems::safeBatchTransferFrom(...)`
high
FighterFarm:: reroll won't work for nft id greator than 255 due to input limited to uint8
Sep '23
Aug '23
Jul '23
Jun '23
May '23
high
Incorrect hardcoded oracles addresses
high
Wrong decimal number on DAI/ETH Chainlink priceFeed
high
Incorrect order of calculation in DAI oracle
high
Incorrect check in SellUSSDBuyCollateral function
high
Missing onlyBalancer modifier
high
Missing deadline and slippage protection on UniV3SwapInput
high
getOwnValuation function would overflow on a high sqrtPriceX96 value
medium
Missing sanity checks on chainlink priceFeeds
medium
Wrong calculation in WBTC oracle
medium
Missing redeem function
Apr '23
high
Risk of silent overflow in reserves update
high
PrivatePool owner can steal all ERC20 and NFT from user via arbitrary execution
medium
`Factory.create`: Predictability of pool address creates multiple issues.
medium
Malicious royalty recipient can steal excess eth from buy orders
medium
Loss of funds for traders due to accounting error in royalty calculations
medium
Royalty recipients will not get fair share of royalties
medium
Flash loan fee is incorrect in Private Pool contract
Mar '23
Jan '23
Nov '22
Sep '22
Aug '22
Jul '22
Jun '22
medium
`fillOrder()` and `exercise()` may lock Ether sent to the contract, forever
medium
Unbounded loops may cause `exercise()`s and `withdraw()`s to fail
medium
Options with a small strike price will round down to 0 and can prevent assets to be withdrawn
medium
Malicious Token Contracts May Lead To Locking Orders
May '22
high
BathToken LPs Unable To Receive Bonus Token Due To Lack Of Wallet Setter Method
high
Attacker Could Steal Almost All The Bonus Token In BathBuddy Vesting Wallet
medium
No cap on fees can result in a DOS in BathToken.withdraw()
medium
Admin rug vectors
medium
Use `safeTransfer()`/`safeTransferFrom()` instead of `transfer()`/`transferFrom()`