1661 matches found
A user allowed to mint AlToken can mint an unlimited amount of it
Handle 0x0x0x Vulnerability details Impact A user with permission of minting can mint unlimited tokens. Proof of Concept We assume the user is allowed to mint, so the user is whitelisted, not blacklisted and ceilingmsg.sender 0. Furthermore, we assume that the contract is not paused. So when a us...
No slippage control on deposit of IbbtcVaultZap.sol
Handle gzeon Vulnerability details Impact There is no slippage control on deposit of IbbtcVaultZap.sol, which expose user to sandwich attack. Proof of Concept Any deposit can be sandwiched, especially when the pool is not balanced. Tools Used Recommended Mitigation Steps Add a minOut in line with...
VaderRouter._swap performs wrong swap
Handle cmichel Vulnerability details The 3-path hop in VaderRouter.swap is supposed to first swap foreign assets to native assets, and then the received native assets to different foreign assets again. The pool.swapnativeAmountIn, foreignAmountIn accepts the foreign amount as the second argument...
Newly Registered Assets Skew Consultation Results
Handle leastwood Vulnerability details Impact The TwapOracle.consult function iterates over all token pairs which belong to either VADER or USDV and then calculates the price of the respective asset by using both UniswapV2 and Chainlink price data. This helps to further protect against price...
Unbounded loops
Handle pauliax Vulnerability details Impact There are several loops in the contract which can eventually grow so large as to make future operations of the contract cost too much gas to fit in a block. Specifically, in contract TwapOracle there is no upper boundary on how many pairs can be...
XVader.sol : loss of user funds during 'leave' function
Handle shri4net Vulnerability details Impact Unintended Fee is charged to user while using 'leave' function in XVader.sol as part of the voting/governance. Proof of Concept Ref contracts/x-vader/XVader.sol, function leave Ref contracts/tokens/Vader.sol, function transfer Example, User locks 100...
VaderRouter.calculateOutGivenIn calculates wrong swap
Handle cmichel Vulnerability details The 3-path hop in VaderRouter.calculateOutGivenIn is supposed to first swap foreign assets to native assets in pool0, and then the received native assets to different foreign assets again in pool1. The first argument of VaderMath.calculateSwapamountIn,...
All user assets which are approved to VaderPoolV2 may be stolen
Handle TomFrench Vulnerability details Impact Total loss of funds which have been approved on VaderPoolV2 Proof of Concept VaderPoolV2 allows minting of fungible LP tokens with the mintFungible function Crucially this function allows a user supplied value for from which specifies where the...
Copy your own portfolio to keep earning royalties
Handle jayjonah8 Vulnerability details Impact In NestedFactory.sol going through the create function which leads to the sendFeesWithRoyalties = addShares function, Im not seeing any checks preventing someone from copying their own portfolio and receiving royalty shares for it and simply repeating...
FSDVesting.claimTribute() Breaks Contract
Handle leastwood Vulnerability details Impact FSDVesting.claimTribute attempts to claim staking rewards which are stored as tributes and generated through membership purchases by the FSD network. The FSDVesting.sol contract accrues a conviction score which generates a percentage claim over tribut...
Inconsistent balance when supplying transfer-on-fee or deflationary tokens
Handle Reigada Vulnerability details Impact In the contract StakingRewards, the stake function assume that the amount of stakingToken is transferred to the smart contract after calling the safeTransferFrom function and thus it updates the balances mapping. However, this may not be true if the...
Anyone can DDOS vesting contract
Handle pauliax Vulnerability details Impact Vest function can be accessed by anyone. It accepts arbitrary beneficiary and pushes new vesting to the array of this beneficiary timelocks. As a malicious actor I can block any user by just invoking vest function with a tiny amount of vest token. The...
Get virtual price is not monotonically increasing
Handle jonah1005 Vulnerability details Impact There's a feature of virtualPrice that is monotonically increasing regardless of the market. This function is heavily used in multiple protocols. e.g.curve metapool, mim, ... This is not held in the current implementation of customSwap since...
customPrecisionMultipliers would be rounded to zero and break the pool
Handle jonah1005 Vulnerability details Impact CustomPrecisionMultipliers are set in the constructor: customPrecisionMultipliers0 = targetPriceStorage.originalPrecisionMultipliers0.multargetPrice.div10 18; originalPrecisionMultipliers equal to 1 if the token's decimal = 18. The targe price could...
Unchecked transfer
Handle 0v3rf10w Vulnerability details Impact Unchecked transfer leading to free deposits to attacker account Proof of Concept function :: BasicSale.processWithdrawaluint256,uint256,address tge/contracts/PublicSale.sol212-229 Several tokens do not revert in case of failure and return false. The...
Unchecked low-level calls
Handle 0v3rf10w Vulnerability details Impact Unchecked low-level calls Proof of Concept Unchecked cases at 2 places :- BasicSale.receive 2021-11-bootfinance/tge/contracts/PublicSale.sol148-156 ignores return value by burnAddress.callvalue: msg.value...
Permissioned nature of TwapOracle allows owner to manipulate oracle
Handle TomFrench Vulnerability details Impact Potentially frozen or purposefully inaccurate USDV:VADER price feed. Proof of Concept Only the owner of TwapOracle can call update on the oracle. Should the owner desire they could cease calling update on the oracle for a period. Over this period the...
Unbounded loop in TwapOracle.update can result in oracle being locked
Handle TomFrench Vulnerability details Impact Loss of ability of TwapOracle to update should too many pools be added. Proof of Concept TwapOracle allows an unlimited number of pairs to be added and has no way of removing pairs after the fact. At the same time TwapOracle.update iterates through al...
DOS attack possible for Token->ETH trades
Handle pmerkleplant Vulnerability details Impact Any user's trade from some token to a native token e.g. ETH can be DOSed if an attacker sends native tokens to the Executioner contract. If the attacker watches for trades, he/she could either make the whole trade fail or, depending on the...
Slingshot: Incorrect initial balance fetched for native token in executeTrades()
Handle hickuphh3 Vulnerability details Impact The executioner contract only supports ERC20ERC20 token trades. Native token swaps are supported by either wrapping / unwrapping the ERC20 wrapped native token before / after the trades respectively. When exchanging from the native token, the wrapping...