Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
•added 2023/04/14 12:00 a.m.•18 views

if revertOnFailure is set to false, batchContributeFor doesn't refund properly

Lines of code Vulnerability details Proof of Concept Consider the code for batchContributeFor: function batchContributeFor BatchContributeForArgs calldata args external payable onlyDelegateCall returns uint96 memory votingPowers uint256 numContributions = args.recipients.length; votingPowers = ne...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/04/14 12:00 a.m.•18 views

OperatorProposal._executeOperation() should refund excess ETH

Lines of code Vulnerability details Impact There are excess ETH in OperatorProposal.executeOperation, and it should be refunded. Proof of Concept OperatorProposal.executeOperation runs data.operator.execute with data.operatorValue of ETH. data.operator.execute value: data.operatorValue...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/04/14 12:00 a.m.•18 views

refund() for ETHCrowdfund may fail for the final user due to rounding discrepancies

Lines of code Vulnerability details Proof of Concept This is how fee is deducted from a user's contribution when the user contributes. Observe that amount at the end is slightly greater than it's suppose to be due to the rounding in the feeAmount calculation. if fundingSplitRecipient != address0 ...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/04/14 12:00 a.m.•18 views

ReraiseETHCrowdfund#claimMultiple can be used to grief large depositors

Lines of code Vulnerability details Impact User can be grieved by being force minted a large number of NFTs with low voting power instead of one with high voting power Proof of Concept ReraiseETHCrowdfund.solL354-L377 for uint256 i; i maxContribution revert...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/04/13 12:00 a.m.•18 views

Oracle could possibly flag stolen NFT after the NFT already was sold to the pool which leads to non-trivial impact

Lines of code Vulnerability details Impact Stolen NFT oracle is used to check if an NFT is stolen. It depends on ReservoirOracle. Check However, a stolen NFT could still be sold to the pool if it was flagged too late for whatever reason. The issue is that the pool allows buying stolen NFTs. This ...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/04/04 12:00 a.m.•18 views

Upgraded Q -> 2 from #17 [1680620718364]

Judge has assessed an item in Issue 17 as 2 risk. The relevant finding follows: L-05 Check that staking cannot occur when endTime is reached The MuteAmplifier.stake function should require that the current timestamp is smaller than endTime even when the call to stake is the first that ever...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/30 12:00 a.m.•18 views

All the FRX_ETH tokens of SfrxEth contract can be drained by a malicious user.

Lines of code Vulnerability details Impact The impact of this finding is severe, as it can result in the complete loss of FRXETH tokens held by the SfrxEth contract. This could lead to a significant financial loss for the contract and its users. Proof of Concept For demonstration purpose, Alice i...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/30 12:00 a.m.•18 views

poolPrice() is vulnerable to price manipulation

Lines of code Vulnerability details Impact The output of poolPrice, which is used to determine the price of rETH, can be manipulated to become extremely small or large. An attacker abuse this to gain large amounts of SafETH during staking. Vulnerability Details In the Reth contract, poolPrice...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/30 12:00 a.m.•18 views

[H-02] Front-running of first deposit allows attacker to steal funds

Lines of code Vulnerability details Impact Due to the way in which the SafEth share price is calculated, an attacker can front-run the first depositor's transaction and steal funds through an inflation attack. SafEth::stake calculates the share price by dividing the total asset amount by the tota...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/30 12:00 a.m.•18 views

An attacker can manipulate the preDepositvePrice to steal from other users.

Lines of code Vulnerability details Impact The first user that stakes can manipulate the total supply of sfTokens and by doing so create a rounding error for each subsequent user. In the worst case, an attacker can steal all the funds of the next user. Proof of Concept When the first user enters...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/30 12:00 a.m.•18 views

Derivative Pool Issue can Lead to Loss User Funds when Unstaking

Lines of code Vulnerability details Impact In all withdraw functions of derivatives, there is no check for sending zero Ether back to the safEth contract. It is important to note that the addressmsg.sender.callvalue: 0"" function returns true even when transferring a zero value. On the other hand...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/30 12:00 a.m.•18 views

Spot UniswapV3 pricing for rETH when staking in SafEth can lead to loss of user funds

Lines of code Vulnerability details Impact An attacker can craft a set of transactions so that when they are depositing funds in the SafEth contract, using the stake function, they can understate the value of existing deposits preDepositPrice value, while overstating the value of their deposit...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/30 12:00 a.m.•18 views

MuteBond.sol: deposit function reverts if remaining payout is very small due to >0 check in dMute.LockTo function

Lines of code Vulnerability details Impact I will show in this report how the MuteBond.deposit function can experience a temporary DOS. The attacker or just any other user by mistake or by not knowing about it can receive a payout from the deposit function that puts the payoutTotal of the current...

6.5AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/30 12:00 a.m.•18 views

Hardcoded poolFee in deposit() Function Cause Liquidity Depth Issue for Swap

Lines of code Vulnerability details Impact In deposit function we are using the hardcoded value of poolFee as 500 which limits the ability of liquidity providers to select the appropriate fee tier, potentially reducing the returns for liquidity providers. IWETHWETHADDRESS.depositvalue: msg.value;...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/28 12:00 a.m.•18 views

DOS attack to RedeemTo() and GetUnderlyingTokens(), leading to loss of funds.

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. An attacker can launch a DOS attack to RedeemTo and GetUnderlyingTokens so that it will always fail for a particular account, say Bob. In this way, Bob will not be able to redeem the MuteToken locked...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/26 12:00 a.m.•18 views

Upgraded Q -> 2 from #229 [1679864317254]

Judge has assessed an item in Issue 229 as 2 risk. The relevant finding follows: L-05 VaultToken.setVault can be front-run --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/20 12:00 a.m.•18 views

A POSITION WILL BE FULLY LIQUIDATABLE AS SOON AS IT BECOMES LIQUIDATABLE

Lines of code Vulnerability details Impact A specific position can be liquidated if canLiquidate returns true. However, the function logic of maxLiquidatableDebt is going to make it fully liquidatable even if safetyRatio == 1e18. Proof of Concept Let's assume the following setup: collRatio = 1.5e...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/19 12:00 a.m.•18 views

Namespace tokenName has only emojis.

Lines of code Vulnerability details Impact The tokenName and image of Namespace should always be the same. The image is correct but the tokenName only consists of emojis. Duplicate names are checked on the tokenName and not on the image. Because of this a tile of font class 1 with character index...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/19 12:00 a.m.•18 views

Unsafe safeTransfer function

Lines of code Vulnerability details Impact The safeTransfer function of the SafeERC20.sol contract check that the target is actually a contract before calling it, this is to avoid calls to address with no code that will always return succes = true. For exemple if you use token.safeTransfer and...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/19 12:00 a.m.•18 views

Contracts are susceptible for Head Overflow Bug in Calldata

Lines of code Vulnerability details Impact ABI-encoding a tuple with a statically-sized calldata array in the last component would corrupt 32 leading bytes of its first dynamically encoded component. Proof of Concept The functions are taking input arguments as calldata. Following contracts are...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/15 12:00 a.m.•18 views

Attacker can abuse rounding down to get reward without depositing anything in LP pool

Lines of code Vulnerability details Impact In function withdrawLP, it calculates the amount of points from the amount input parameter. unchecked uint256 points = amount 100 / 1e18 lpPosition.multiplier / DIVISOR; // Update the caller's LP token stake. lpPosition.amount -= amount; lpPosition.point...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/09 12:00 a.m.•18 views

No sanity check on drawCoolDownPeriod can lead to frontrun attacks on jackpot prize

Lines of code Vulnerability details Impact During the construction of the LotterySetup, there is no sanity check on drawCoolDownPeriod. If its set to zero, then there will be no cool down period, players can buy the lottery tickets at any time until the draw. Once lottery setup is complete with...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/09 12:00 a.m.•18 views

Loss of funds when buying tickets with no frontend

Lines of code Vulnerability details When tickets are bought, the protocol allows to specify a frontend that will receive a percentage of the ticket fee as rewards 10% for the current setup. However, if this input is left empty during purchase, frontend rewards will still be counted and associated...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/07 12:00 a.m.•18 views

Decay interval can be extended

Lines of code Vulnerability details Impact The half-life defined by MINUTEDECAYFACTOR can be extended from 12h up to 24h. Proof of Concept minutesPassed is truncated to the minute. This means that the actual time passed may be up to a minute more than calculated. updateLastFeeOpTime is used to on...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/07 12:00 a.m.•18 views

STRATEGIST still can assign a higher percentage into the withdrawMaxLoss, which may lead to a very higher risk for users to lose the principle sent as a collateral

Lines of code Vulnerability details Impact Within the ReaperVaultV2updateWithdrawMaxLoss above, the user who has a STRATEGIST role still can assign a higher percentage i.e. 99% = 9999 into the withdrawMaxLoss. This lead to a very higher risk for users to lose the principle sent as a collateral if...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/07 12:00 a.m.•18 views

ReaperBaseStrategyv4 is not Initializable

Lines of code Vulnerability details Impact ReaperStrategyGranarySupplyOnly calls function ReaperBaseStrategyinit from ReaperBaseStrategyv4, but ReaperBaseStrategyv4 is not Initializable. If the ReaperBaseStrategyinit function is not called during contract initialization, it can cause critical...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/06 12:00 a.m.•18 views

Callback tokens can cause re-entrancy

Lines of code Vulnerability details Description There are many places in the code where token transfers are in the middle of a function more specifically, both after and before state changes. It is very important not to pass control to untrusted code in these calls, as they could potentially...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/03/01 12:00 a.m.•18 views

Upgraded Q -> 2 from #795 [1677634099280]

Judge has assessed an item in Issue 795 as 2 risk. The relevant finding follows: 04 VALUES OF fees ARE NOT CHECKED IN Vault.initialize FUNCTION When calling the following Vault.initialize function, the values of fees are not checked. It is possible that these fees are set to be above 1e18 when...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/20 12:00 a.m.•18 views

SwingTraderManager.swingTraders() shoudn't contain duplicate traderContracts.

Lines of code Vulnerability details Impact If SwingTraderManager.swingTraders contains duplicate traderContracts, several functions like buyMalt and sellMalt wouldn't work as expected as they work according to traders' balances. Proof of Concept During the swing trader addition, there is no...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/15 12:00 a.m.•18 views

recreateMinipool may not be called

Lines of code Vulnerability details Impact recreateMinipool may not be called Proof of Concept To resolve M-09, the fix is that: function recordStakingEndThenMaybeCycle address nodeID, uint256 endTime, uint256 avaxTotalRewardAmt external payable whenNotPaused int256 minipoolIndex =...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/09 12:00 a.m.•18 views

Upgraded Q -> 2 from #510 [1675932817801]

Judge has assessed an item in Issue 510 as 2 risk. The relevant finding follows: If the current state is Withdrawable, you can still call createMinipool This will result in: 1:recreateMinipool can be front-run by executing recordStakingEnd to get back the stake first, and then executing...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/07 12:00 a.m.•18 views

First depositor can break minting of shares

Lines of code Vulnerability details Vulnerability details The calculation of exchange rate for shares in Popcorn Vault is done by dividing the total supply of shares by the totalAssets of the vault. The first depositor can mint a very small number of shares, then donate to the vault to manipulate...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/07 12:00 a.m.•18 views

reentrancy in MultiRewardStaking::claimRewards for tokens with transfer callbacks, like erc777

Lines of code Vulnerability details Impact An attacker can drain all the tokens from MultiRewardStaking Proof of Concept In claimtRewards important state changes are done after interactions with tokens: File: MultiRewardStaking.sol function claimRewardsaddress user, IERC20 memory rewardTokens...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/07 12:00 a.m.•18 views

AdminProxy should do some extra security checks

Lines of code Vulnerability details Impact AdminProxy is the hot spot for all low-level calls, therefore it should do some extra security checks that are currently not in place. By design a Solidity low level call to a zero address or an EOA non contract address will return success true. The only...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/07 12:00 a.m.•18 views

AdapterBase.accruedPerformanceFee does not work with tokens with low decimals

Lines of code Vulnerability details The performance fees are only accrued when shareValue highWaterMark. 529: function accruedPerformanceFee public view returns uint256 530: uint256 highWaterMark = highWaterMark; 531: uint256 shareValue = convertToAssets1e18; //@audit M: this does not work for...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/07 12:00 a.m.•18 views

Overflow tokens

Lines of code Vulnerability details Impact If admin will add more than 255 tokens in rewardToken, there would'nt any way to withdraw tokens or claim rewards Proof of Concept for example: all users deposit their money.After some time admin's add more tokensa, length of array with Token grow's to...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/03 12:00 a.m.•18 views

Upgraded Q -> 2 from #783 [1675429188655]

Judge has assessed an item in Issue 783 as 2 risk. The relevant finding follows: restakeGGP doesn't have whenNotPaused modifier At line 319 stakeGGP has whenNotPaused modifier, while restakeGGP has not. Suggest to add the same modifier to restakeGGP. --- The text was updated successfully, but the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/03 12:00 a.m.•18 views

Support for fee-on-transfer tokens

Lines of code Vulnerability details Impact The AddressDriver.sol do not support fee-on-transfer tokens. If the asset is a fee-on-transfer token, tokens received from users could be less then the amount specified in the transfer. The protocol could suffer a loss of funds. Proof of Concept function...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/03 12:00 a.m.•18 views

Upgraded Q -> 2 from #748 [1675439377792]

Judge has assessed an item in Issue 748 as 2 risk. The relevant finding follows: L MultisigManager doesn't have unregister function MultisigManager.sol contains a hard limit of MULTISIGLIMIT to 10. Meanwhile in the contract, there are functions like registerMultisig, enableMultisig, and...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/03 12:00 a.m.•18 views

_transferFromCaller is not compatible with USDT and similar tokens

Lines of code Vulnerability details transferFromCaller is not compatible with USDT and similar tokens Summary Setting directly typeuint256.max won't work for USDTTether. This is done at both transferFromCaller: NFTDriver.solL289 AddressDriver.solL174 Description Some tokens like USDT do not work...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/03 12:00 a.m.•18 views

Other users cannot help a CIDNFT holder add subprotocols to the NFT

Lines of code Vulnerability details Impact Other users cannot approve and help CIDNFT holders add subprotocols to the NFT, breaking protocol specifications. Proof of Concept In the video walkthrough, around the 8 minute mark, it is mentioned that users can help NFT holders add subprotocols to the...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/03 12:00 a.m.•18 views

Unsafe casting of an int128 to uint128 can cause wrong accounting in _receiveDripsResult

Lines of code Vulnerability details Impact Unsafe casting of int128 to uint128 is dangerous and makes user receive more assets than they should. Proof of Concept state.amtDeltascycle can be a negative value. The delta value at each point is simply the relative change from the previous cycle. If...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/03 12:00 a.m.•18 views

Multiple addresses can point to the same cidNFTID

Lines of code Vulnerability details Impact During AddressRegistry.register there is no check to ensure that a cidNFTID has been registered to an address. As CID NFT is transferrable, this means that the same CID NFT can be registered by multiple addresses. This could cause troubles for Dapps that...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/03 12:00 a.m.•18 views

DIVISION BY _AMT_PER_SEC_MULTIPLIER AT EACH STEP OF THE ARITHMETIC OPERATION BEFORE MULTIPLICATION RESULTS IN ROUNDING ERROR

Lines of code Vulnerability details Impact In the drippedAmt function of the Drips.sol contract, the assembly is used to calculate the amount dripped over a time range. Inside the assembly amtPerCycle is calculated by multiplying cycleSecs and amtPerSec and dividing by AMTPERSECMULTIPLIER to remo...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/02 12:00 a.m.•18 views

Critical Vulnerability exposed Reentrancy attack allowing unlimited Fund Withdrawals.

Lines of code Vulnerability details Impact Function register where it transfers a fixed amount of $NOTE tokens 100 $NOTE to the cidFeeWallet address without checking the reentrancy status. An attacker can repeatedly call this function to drain the contract balance...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/01 12:00 a.m.•18 views

Lendgine#mint gifts the borrower liquidity and both underlying token as well which bricks contract functionality

Lines of code Vulnerability details Impact Borrower of liquidity can just keep borrowing liquidity as he will also get token0 and token1, draining the protocol funds. Proof of Concept Lendginemint calls Pairburn before calling mint to mint the number of ERC20 power tokens. totalLiquidityBorrowed ...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/01 12:00 a.m.•18 views

Multiple combinations of token0/token1 for a given liquidity exist to satisfies the custom variant of AMM pool. A naive LP or Power token holder can transfer more token0/token1 then necessary when minting & burning respectively

Lines of code Vulnerability details Impact LP's need to provide a combination of token0 / token 1 for a given liquidity that satisfied a custom variant that satisfies 2 conditions 1. scale1 = c + d where a, b, c, d are functions of token0/ token1 , liquidity and upper bound The relationship betwe...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/02/01 12:00 a.m.•18 views

Unprotected payable functions in Payment.sol

Lines of code Vulnerability details Impact In Payment.sol contract unwrapWETH and sweepToken functions are without any access control. They are public and and doesn't validate that it's being called by any permissioned account. The result is that anyone can steal tokens. Proof of Concept 25:...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/01/31 12:00 a.m.•19 views

First depositer exploit can break share calculation

Lines of code Vulnerability details Impact A well known attack vector for almost all shares based liquidity pool contracts, where an early user can manipulate the price per share and profit from late users' deposits because of the precision loss caused by the rather large value of price per share...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/01/31 12:00 a.m.•18 views

Anyone can transfer any tokens balance of Payment contract

Lines of code Vulnerability details Impact Anyone can transfer any tokens balance of Payment contract Proof of Concept 1. Someone send some tokens to Payment contract 2. Attacker will call sweepToken with token = token address, amountMinimum = Token balance of Payment contract and recipient = any...

6.9AI score
SaveExploits0
Total number of security vulnerabilities5000