Lucene search
+L

764 matches found

Code423n4
Code423n4
added 2021/12/12 12:0 a.m.14 views

Attacker can empty all the funds by creating fake promotions

Handle WatchPug Vulnerability details The current implementation of calculateRewardAmount allows a arbitrary epochId, which can even be a epochId numberOfEpochs. A malicious user can call claimRewards with epochIds larger than numberOfEpochs and claim other users' rewards. Furthermore, since...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/12/10 12:0 a.m.19 views

Reentrancy vulnerability in Basket contract's initialize() method.

Handle broccolirob Vulnerability details A malicious "publisher" can create a basket proposal that mixes real ERC20 tokens with a malicious ERC20 token containing a reentrancy callback in it's approve method. When the initialize method is called on the newly cloned Basket contract, a method calle...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/12/09 12:0 a.m.8 views

Missing SafeApprove(0)

Handle sirhashalot Vulnerability details There are instances where the SafeApprove function is called only once without setting the allowance to zero. Some tokens, like USDT, require first reducing the address' allowance to zero by calling approvespender, 0. Additionally, the comment before the...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/12/07 12:0 a.m.12 views

DOS while dealing with erc20 when value(i.e amount*decimals) is high but less than type(uint112).max

Handle hack3r-0m Vulnerability details Impact reverts due to overflow for higher values but strictly less than typeuint112.max and hence when user calls exit or withdraw function it will revert and that user will not able to withdraw funds permanentaly. Proof of Concept Attaching diff to modify...

7AI score
Exploits0
Code423n4
Code423n4
added 2021/12/07 12:0 a.m.17 views

ArbitraryCall() allows attackers to steal ERC20 tokens from users wallets

Handle Jujic Vulnerability details A call to an arbitrary contract with custom calldata is made in arbitraryCalladdress who, bytes memory data, which means the contract can be an ERC20 token, and the calldata can be transferFrom a previously approved user. Impact The wallet balances for the amoun...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/12/07 12:0 a.m.16 views

Reward token not correctly recovered

Handle cmichel Vulnerability details The Streaming contract allows recovering the reward token by calling recoverTokensrewardToken, recipient. However, the excess amount is computed incorrectly as ERC20token.balanceOfaddressthis - rewardTokenAmount + rewardTokenFeeAmount: function...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2021/12/07 12:0 a.m.60 views

Race condition on ERC20 approval

Handle WatchPug Vulnerability details function approveaddress spender, uint256 amount public virtual returns bool allowancemsg.senderspender = amount; emit Approvalmsg.sender, spender, amount; return true; Using approve to manage allowances opens yourself and users of the token up to frontrunning...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/12/06 12:0 a.m.10 views

Deposit token flash loan fees can be stolen by streamCreator

Handle 0x0x0x Vulnerability details Concept On recoverTokens function in Stream. Excess amount of deposit token is calculated as follows: uint256 excess = ERC20token.balanceOfaddressthis - depositTokenAmount - redeemedDepositTokens; This calculation does not include depositTokenFlashloanFeeAmount...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2021/12/06 12:0 a.m.17 views

Locke.sol:Stream - possible DOS on arbitraryCall

Handle ScopeLift Vulnerability details Impact If there's an airdrop that arbitraryCall would like to call, it could be DOSed by first calling createIncentive with the airdropped token, then backrunning calls to claimIncentive with calls to createIncentive. Proof of Concept Tools Used Recommended...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/12/03 12:0 a.m.23 views

LockeERC20.sol: Frontrun attack on approve()

Handle itsmeSTYJ Vulnerability details Impact It is possible to frontrun the standard ERC20 token approve function. Proof of Concept Read this for more info. Recommended Mitigation Steps Either require that allowance is 0 before approve can be called or use increase / decrease allowance e.g...

7AI score
Exploits0
Code423n4
Code423n4
added 2021/12/01 12:0 a.m.11 views

Bonding doesn't work with fee-on transfer tokens

Handle cmichel Vulnerability details Certain ERC20 tokens make modifications to their ERC20's transfer or balanceOf functions. One type of these tokens is deflationary tokens that charge a certain fee for every transfer or transferFrom. Impact The Bonding.bond function will revert in the...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/11/18 12:0 a.m.16 views

ERC20.transfer return value is ignored

Handle pants Vulnerability details ERC20 transfer and transferFrom return values are ignored. There is no whitelist, therefore users can use ERC20 tokens that transfer/transferFrom returns False instead of revert. for example: YaxisVoteProxy.sol line 55 MetaVault.sol line 579 MockPickleJar.sol li...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2021/11/17 12:0 a.m.7 views

NestedFactory: Ensure zero msg.value if transferring from user and inputToken is not ETH

Handle GreyArt Vulnerability details Impact A user that mistakenly calls either create or addToken with WETH or another ERC20 as the input token, but includes native ETH with the function call will have his native ETH permanently locked in the contract. Recommended Mitigation Steps It is best to...

7AI score
Exploits0
Code423n4
Code423n4
added 2021/11/15 12:0 a.m.11 views

Tokens with fee on transfer are not supported

Handle WatchPug Vulnerability details There are ERC20 tokens that charge fee for every transfer or transferFrom, E.g Vader token. In the current implementation, BasePoolV2.solmint assumes that the received amount is the same as the transfer amount, and uses it to calculate liquidity units. functi...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/11/14 12:0 a.m.8 views

Zap contract's redeem() function doesn't check which token the user wants to receive

Handle Ruhum Vulnerability details Impact In the redeem function, the user can pass a token address. That's the token they receive in return for the ibbtc they give back. Because of missing address checks the user can provide any possible ERC20 token here without the function reverting. Although...

7AI score
Exploits0
Code423n4
Code423n4
added 2021/11/10 12:0 a.m.16 views

Unsafe token transfer

Handle WatchPug Vulnerability details Calling ERC20.transfer without handling the returned value is unsafe. function processWithdrawal uint era, uint day, address member private returns uint value uint memberUnits = mapEraDayMemberUnitseradaymember; // Get Member Units if memberUnits == 0 value =...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/11/10 12:0 a.m.10 views

ERC20 return values not checked

Handle cmichel Vulnerability details The ERC20.transfer and ERC20.transferFrom functions return a boolean value indicating success. This parameter should checked for success. Some functions perform ERC20 transfers without checking for the return value: BasicSale.processWithdrawal...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/11/10 12:0 a.m.11 views

safe erc20

Handle pauliax Vulnerability details Impact Contracts e.g. InvestorDistribution, AirdropDistribution, Vesting have declared to use safe ERC20 library: using SafeERC20 for IERC20; However, when actually making the approvals or transfers, they make no use of this library and rely on simple standard...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/11/09 12:0 a.m.10 views

Unchecked transferFrom call in Vesting

Handle loop Vulnerability details Vesting.sol makes use of the safeERC20 library to make transfer calls on the vestingToken as vestingToken does not seem to be a predetermined ERC20 token. There is however a transferFrom call on vestingToken which does not make use of the safeERC20 version. Impac...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2021/11/08 12:0 a.m.13 views

Contract BasicSale is missing an approve(address(vestLock), 2**256-1) call

Handle Reigada Vulnerability details Impact As we can see in the contracts AirdropDistribution and InvestorDistribution, they both have the following approve call: mainToken.approveaddressvestLock, 2256-1; This is necessary because both contracts transfer tokens to the vesting contract by calling...

7AI score
Exploits0
Rows per page
Query Builder