Lucene search
+L
Code423n4Recent

10190 matches found

Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•15 views

Comptroller.exitMarket() does not get an updated exchange rate causing inacurate exit validations

Lines of code Vulnerability details Impact The user can use the exitMarket function to remove an asset from the account liquidity calculation; disabling them as collateral. The problem is that the user can call exitMarket before the vToken updates their accrue interests via accrueInterest functio...

6.5AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•10 views

Precision differences when calculating the _startAuction of funds accumulated in RiskFund

Lines of code Vulnerability details Impact When calculating startAuction uint256 usdValue in RiskFund, Auction state divides the value of each market in the vToken list in token list precision. This skew is fine for most tokens but will cause problems with certain token pairs. Proof of Concept Wh...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•6 views

Loans can be rolled an unlimited number of times

Lines of code Vulnerability details Impact Loans can be rolled an unlimited number of times, without letting the lender decide if has been done too many times already Proof of Concept It will cause the totalBorrow of the contract to increase infinitely, affecting the exchangeRate. Tools Used manu...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•12 views

Potential Division by Zero in utilizationRate method

Lines of code Vulnerability details Impact In the case where cash + borrows - reserves equals 0, the function would try to divide by zero which will result in a runtime error. Proof of Concept An attacker might manipulate the state of the contract to where cash + borrows - reserves equals zero...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•7 views

getAccountSnapShot always returns NO_ERROR no matter what's its inputs is.

Lines of code Vulnerability details Impact In the safeGetAccountSnapShot function, it seems the getAccountSnapshot always return NOERROR, so the checking if err != 0 revert SnapshotErroraddressvToken, user; Becomes meaningless because err is always equal to 0. This may lead to critical issues...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•14 views

Deflation bricking

Lines of code Vulnerability details Impact First staker can block staking by making exchangeRate == 0. Proof of Concept As can be seen function exchangeRate public view returns uint256 /// @dev if there are no tokens minted, return the initial exchange rate uint256 totalSupply = totalSupply; if...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•14 views

Wrong blocksPerYear in WhitePaperInterestRateModel

Lines of code Vulnerability details Impact Venus is deployed on BNB Chain instead of Ethereum. Their block times are different. And WhitePaperInterestRateModel.sol is modified from compound. Therefore, blocksPerYear should be modified or Venus would get the wrong rate when using...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•14 views

mint and burn can be attacked by sandwiches

Lines of code Vulnerability details Impact The rewards of mint and burn are calculated based on the ratio of uTokenincluding debt and vToken, so it can be sandwiched by attackers. Proof of Concept Tools Used manual Recommended Mitigation Steps It is recommended to add the minimum receiving quanti...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•10 views

Shortfall.sol#updateNextBidderBlockLimit may cause the current auction to end immediately

Lines of code Vulnerability details Impact File: Shortfall.sol 293 function updateNextBidderBlockLimituint256 nextBidderBlockLimit external 294 checkAccessAllowed"updateNextBidderBlockLimituint256"; 295 requirenextBidderBlockLimit != 0, "nextBidderBlockLimit must not be 0"; 296 uint256...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•22 views

All the lp tokens will be stuck in the AMO2 contract if CVXStaker.withdrawAllAndUnwrap is called with sendToOperator flag

Lines of code Vulnerability details Impact Loss all the stEth and xEth lp tokens. Proof of Concept The CVXStaker.withdrawAllAndUnwrap can be called by the admin. And if the sendToOperator param is true, all the lp tokens of the CVXStaker contract include lp tokens staked in the CVX and left in th...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•18 views

USDC blacklisted accounts can DOS the bidding system in Shortfall

Lines of code Vulnerability details Impact Shortfall contract is used to clear off any pool bad debt via auction. If the debt reached its mimimum value, anybody can start off the auction and place the bid. Attacker can bid with tokene.g. USDC, USDT that have a contract level admin controlled...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•20 views

Holders only get the rewards they Accrued for supplying when they claim rewards in the RewardsDistributor.sol .

Lines of code Vulnerability details Holders only get the rewards they Accrued for supplying when they claim rewards in the RewardsDistributor.sol . Summary The holder only gets rewards for supplying instead of getting the rewards for both borrowing and supplying in martkets because in the...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•15 views

totalBorrows inflates faster than the sum of each position's debt

Lines of code Vulnerability details Impact File: VToken.sol 678 function accrueInterest public virtual override returns uint256 --skip-- 710 Exp memory simpleInterestFactor = mulExp mantissa: borrowRateMantissa , blockDelta; 711 uint256 interestAccumulated = mulScalarTruncatesimpleInterestFactor,...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•21 views

wxETH.sol Inflation Attack

Lines of code Vulnerability details Impact The first staker may suffer an Inflation Attack and lose the funds Proof of Concept Currently wxETH still has the common ERC4626 'Inflation Attack' malicious users can front-run the first staker, raise exchange rates through donations, then achieve...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•17 views

Comptroller.sol#liquidateCalculateSeizeTokens assumes the same precision for vTokenBorrowed and vTokenCollateral

Lines of code Vulnerability details Impact File: Comptroller.sol 1099 uint256 exchangeRateMantissa = VTokenvTokenCollateral.exchangeRateStored; // Note: reverts on error 1100 uint256 seizeTokens; 1101 Exp memory numerator; 1102 Exp memory denominator; 1103 Exp memory ratio; 1104 1105 numerator =...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•14 views

Whales can freeze all user funds

Lines of code Vulnerability details Impact Whales can freeze user funds by adding large amounts of a smaller token, while keeping collateral in other tokens. By accumulating interest in the small token, they will be able to call reduceReserves once the interest increased enough to match the cash...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•13 views

PLACEBID() IN SHORTFALL.SOL MAY LEAD TO DENIAL OF SERVICE AND FRONT RUNNING ATTACKS

Lines of code Vulnerability details Impact The Shortfall.placeBid function in the Venus protocol exhibits potential vulnerabilities that may lead to denial-of-service DoS and front-running attacks. A malicious actor could exploit these vulnerabilities to disrupt the auction process, manipulate...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•11 views

Shortfall.sol#placeBid does not limit the bid spread

Lines of code Vulnerability details Impact Shortfall.solplaceBid does not limit the bid spread. The attacker can increase the price by a small amount each time causing the auction to never stop. Proof of Concept Tools Used manual Recommended Mitigation Steps limit the bid spread Assessed type DoS...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/15 12:0 a.m.•14 views

Stale risk fund assets may make protocol loose funds

Lines of code Vulnerability details Vulnerability Details When swapping Risk funds in a pool swapPoolsAssetsaddress,uint256,address from one market underlying asset type to convertibleBaseAsset , only a limited selected markets are supplied as input parameter. function swapPoolsAssets address...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•11 views

Lack of Access Control in claimRewards Function

Lines of code Vulnerability details Impact The calculateNewRewards function should also check whether the rewardsCapped variable is greater than the rewardsClaimedInEpoch variable to ensure that rewards are not claimed that exceed the reward cap, because an attacker could exploit this vulnerabili...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•10 views

Treasury accounting miss voters rewards

Lines of code Vulnerability details treasury is overstated over time as each distribution period it adds back the delegate rewards part, which is actually spent on voters rewards. I.e. it is updated with fundsAvailable - totalTokensRequested difference, while totalTokensRequested is limited to 90...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•15 views

Integer Overflow in executeExtraordinary Function.

Lines of code Vulnerability details Impact The executeExtraordinary function casts a uint128 value to a uint256 value, which could lead to an integer overflow vulnerability. An attacker can provide a large uint128 value that exceeds the maximum value for uint256, causing the value to overflow and...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•14 views

PositionManager's moveLiquidity can set wrong deposit time and permanently freeze LP funds moved

Lines of code Vulnerability details moveLiquidity set new destination index LP entry deposit time to be equal to the source index deposit time, while destination bucket might have defaulted after that time. This is generally not correct as source bucket bankruptcy is controlled i.e. LP shares tha...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•9 views

Expiration Time Not Checked in moveStakedLiquidity Function

Lines of code Vulnerability details Impact Liquidity moves are time-sensitive operations and the duration within which they are executed is crucial. If a user sets the expiry time to 0, it means that there is no expiration time set for the liquidity move. This can potentially allow the liquidity...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•6 views

Insufficient Validation of Total Tokens Requested.

Lines of code Vulnerability details Impact In the proposeExtraordinary function in the Funding contract. Specifically, in the following line: L105 if uint256totalTokensRequested getSliceOfTreasuryMaths.WAD - getMinimumThresholdPercentage revert InvalidProposal; If the totalTokensRequested paramet...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•10 views

stake() function: The provided stake function lacks checks to prevent a lender from staking multiple NFTs in the same Ajna pool. The function allows any owned position NFT to be staked without considering whether the lender has already staked in the pool. This potentially opens up the system to an abuse where a lender stakes multiple NFTs for the same liquidity position.

Lines of code Vulnerability details Impact The current stake function lacks checks to prevent a lender from staking multiple NFTs in the same Ajna pool. This could lead to an abuse of the system where a lender stakes multiple NFTs for the same liquidity position, potentially earning more rewards...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•10 views

Extraordinary Funding proposal could be susceptible back-run

Lines of code Vulnerability details Impact An extraordinary proposal can be proposed, voted on, and executed within a single transaction, in the same block. As a result, an attacker with enough voting power to meet the conditions on their own could back-run a transaction to steal funds from the...

6.5AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•12 views

mint() function: Rogue lenders/attackers could mint multiple/endless position NFTs for their SAME Ajna pool deposits/LPs, when they're supposed to be able to mint only one position NFT per lender per LP per pool.

Lines of code Vulnerability details Impact The current implementation of the mint function allows a lender to mint multiple position NFTs for the same Ajna pool deposit. This could lead to an inflation of NFTs and potentially disrupt the system's reward distribution, as the lender could stake the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•8 views

There can be a maximum of 11 proposals

Lines of code Vulnerability details Impact Overflow Proof of Concept The proposeExtraordinary function restricts that the result of the getMinimumThresholdPercentage function must be less than or equal to 1018. The maximum length of the fundedExtraordinaryProposals array is 10, but there is no...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•6 views

Proposed Token Request Exceeds Available Funds Check Missing.

Lines of code Vulnerability details Impact The proposeStandard function in StandardFunding.sol contract does not include a direct check to ensure that the proposed tokens requested are less than or equal to the actual available funds for the distribution period. Instead, it only checks if the...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•10 views

NOT CONFIRMED

Lines of code L1 Vulnerability details NOT CONFIRMED Assessed type Decimal --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•13 views

Race condition vulnerability in positionManager minting function

Lines of code Vulnerability details Impact race condition vulnerability can result in the issuance of duplicate token IDs. When multiple transactions are executed in quick succession attempting to mint tokens, they may end up being assigned the same ID due to a shared counter or variable used to...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•15 views

Logic error in _transferAjnaRewards function

Lines of code Vulnerability details Context: ajna-core/src/RewardsManager.sol: 836 / 837: function transferAjnaRewardsuint256 rewardsEarned internal 838: // check that rewards earned isn't greater than remaining balance 839: // if remaining balance is greater, set to remaining balance 840: uint25...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•9 views

_transferAjnaRewards doesn't save the remaining rewards of a staker for the next transfer

Lines of code Vulnerability details Impact Staker will earn less than expected Proof of Concept On claimRewards function at transferAjnaRewards is being called to claim rewardsEarned for staker according to the tokenId, the issue here drop at if rewardsEarned ajnaBalance rewardsEarned =...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•11 views

Attacker can DoS create a extraordinary proposals

Lines of code Vulnerability details Impact An attacker can prevent the creation of proposals in ExtraordinaryFunding.solproposeExtraordinary by front-running the proposal, which will give him the same hash as the correct user desired, and setting endBlock to the past, which will invalidate the...

6.5AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•10 views

ExtraordinaryFunding may fail due to a decrease in the treasury funds due to a StandardFunding new distribution round

Lines of code Vulnerability details Impact Users could spend gas and possibly other off chain resources voting on an ExtraordinaryFunding proposal which would later revert when executing. Proof of Concept If an ExtraordinaryFunding proposal requests an amount of tokens between 48.5% and 50% of th...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•14 views

Failure to Check for Existence Before Removal

Lines of code Vulnerability details Impact The moveLiquidity function as described. If the positionIndex.removeparams.fromIndex function call returns false, it means that the specified index was not present in the positionIndex set, and the RemovePositionFailed error is not actually applicable in...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•23 views

Using memory instead of storage in 'redeemPositions' will result in incorrect LP Balance

Lines of code Vulnerability details Impact This bug could lead to a situation where a user can 'redeem' their positions without the associated liquidity positions LPs being properly reset. This could result in the user being able to artificially inflate their LP balance, which could lead to...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•18 views

It is not possible to create or execute new extraordinary proposals after 10 funded Extraordinary Proposals

Lines of code Vulnerability details Impact With each executed offer, the value of getMinimumThresholdPercentage increases, resulting in the fact that when trying to create a new proposal or execute existing, getMinimumThresholdPercentage exceeds 1e18 and we catch an underflow error via...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•10 views

Delegation rewards are not counted toward granting fund

Lines of code Vulnerability details Impact Each period reserves a reward for granting up to 3% GBC: Global Budget Constraint. The GBC is split into two parts: 1. 90% for proposal granting. Any proposal requesting more than 90% will revert. The total amount requested across winning proposals must...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•7 views

It is possible to steal the unallocated part of every delegation period budget

Lines of code Vulnerability details Attacker can monitor the standard proposals distribution and routinely steal each low activity period remainder by submitting a transfer to self proposal and voting a dust amount for it. Since the criteria for the final slate update is that any increase in tota...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•18 views

_updateBucketExchangeRates could possibly revert

Lines of code Vulnerability details Impact updateBucketExchangeRates will not work correctly and would revert in case totalBurnedLatest totalBurnedAtBlock causing DOS for the users when they try to claimRewards, moveStakedLiquidity, stake or unstake. Proof of Concept When the curBurnEpoch doesn't...

7.3AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•7 views

the protocol using 3% GBC instead of 2%

Lines of code Vulnerability details Impact the protocol using 3% GBC instead of 2% as they mentioned in their docs, this may cause problem in the code implementation because the logic is based on 2% but the protocol allowing to use 3% of GBC. Proof of Concept the line that it mentioned that the...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•9 views

Imprecise block calculation

Lines of code Vulnerability details Vulnerability details Impact @dev Roughly equivalent to the number of blocks in 7 days. @dev Roughly equivalent to the number of blocks in 90 days. @dev Roughly equivalent to the number of blocks in 10 days. As described in the NatSpec comment above these are...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•13 views

Incorrect Calculation of Max Amount of Quote Tokens in moveLiquidity() Function in PositionManager.sol.

Lines of code Vulnerability details Impact The updateInterest function is called before retrieving the fromPosition value from positionsparams.tokenIdparams.fromIndex in the moveLiquidity function. This means that the bucketDeposit value may not reflect the current accrued interest, which can...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•12 views

An expired parameter is required because there may be slippage in the calculation.

Lines of code Vulnerability details Impact Due to changes in interest rates, failure to process transactions in a timely manner may result in missing out on ideal rewards. Proof of Concept The calculation of the clainRewards function involves interest rates, which are variable. If...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•9 views

The design flaws have resulted in unfairness in the protocol.

Lines of code Vulnerability details Impact Ordinary traders are not aware that the contract does not have sufficient ajna tokens when receiving rewards, resulting in partial loss of ajna. Smart traders will check the contract token balance before claiming rewards, which leads to unfairness. Proof...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•11 views

Integer Overflow/Underflow in function fundTreasury.

Lines of code Vulnerability details Impact fundTreasury function in the GrantFund.sol contract is vulnerable to integer overflow if the value of treasury variable is close to the maximum value of a uint256 integer, which is 2^256-1, and a large value of fundingAmount is added to it. It is possibl...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•10 views

Integer Overflow in ScreeningVote Function of StandardFunding.sol.

Lines of code Vulnerability details Impact In the screeningVote function of StandardFunding.sol contract, specifically in the line where the votes parameter is converted to a uint128 using the SafeCast.toUint128 function. The issue is that the votes parameter is not limited to 128 bits, which can...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/05/11 12:0 a.m.•10 views

Attacker can drain the token from the user's account

Lines of code Vulnerability details Vulnerability details Impact There is a potential vulnerability if the increaseLPAllowance function is not implemented safely and allows for arbitrary increases to the token allowance. File: ajna-core/src/PositionManager.sol pool.increaseLPAllowanceowner,...

6.9AI score
SaveExploits0
Total number of security vulnerabilities10190