Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
โ€ขadded 2022/04/12 12:00 a.m.โ€ข18 views

Division before Multiplication May Result In No Interest Being Accrued

Lines of code Vulnerability details Impact There is a division before multiplication bug in NFTVault.calculateAdditionalInterest which may result in no interesting being accrued and will have significant rounding issues for tokens with small decimal places. This issue occurs since an intermediate...

6.7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/08 12:00 a.m.โ€ข18 views

UniV3LpVault flash loans can become unavailable if a user didn't utilized the full limit

Lines of code Vulnerability details Impact If a user didn't utilized the whole amount on the first call, the flashFocusCall can fail for second and subsequent runs when params.asset is a token that use approval race protection. Placing severity to medium as flashFocusCall reverts in this case, an...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/07 12:00 a.m.โ€ข18 views

Loan can not be repaid when the BorrowTicket's owner is a contract with no onERC721Received method

Lines of code Vulnerability details In repayAndCloseLoan, after the loan is repaid, the Collateral NFT will safeTransferFrom addressthis to the owner of the BorrowTicket NFT, which is the mintBorrowTicketTo used in createLoan, must implement the onERC721Received method for the safeTransferFrom to...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/07 12:00 a.m.โ€ข18 views

Borrower can be their own lender and steal funds from buyout due to reentrancy

Lines of code Vulnerability details Impact If borrower lends their own loan, they can repay and close the loan before ownership of the lend ticket is transferred to the new lender. The borrower will keep the NFT + loan amount + accrued interest. Proof of Concept This exploit requires that the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/07 12:00 a.m.โ€ข18 views

Lender can stop others from offering higher rates.

Lines of code NFTLoandFacilitator.lend; L205 Vulnerability details Impact A lender using an upgradeable smart contract could stop other lenders from buying him out, essentially causing a DoS. Proof of Concept Lender uses an upgradeable smart contract that front runs competing lenders and upgrades...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/06 12:00 a.m.โ€ข18 views

Faulty logic at _setBufferCap() function

Lines of code Vulnerability details Impact setBufferCap function sets the bufferCap. It first calls the updateBufferStored function which updates the bufferStored variable. However, calculation of bufferStored depends on bufferCap value: Math.minbufferStored + rateLimitPerSecond elapsed, bufferCa...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/06 12:00 a.m.โ€ข18 views

NFTLoanFacilitator: Unsupported fee-on-transfer tokens

Lines of code Vulnerability details Impact loanAssetContractAddress is specified by the user when the user creates a loan. When loanAssetContractAddress is fee-on-transfer tokens, in the lend function, the actual amount of tokens received by the contract will be less than the amount, so that the...

6.7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/06 12:00 a.m.โ€ข18 views

NonCustodialPSM can become insolvent as CPI index rises

Lines of code Vulnerability details Impact NonCustodialPSM mints and redeems VOLT to a chosen stablecoin at the current market rate minus a fixed fee. It is assumed that the difference to be covered with pcvDeposit funds. That assumption is similar to one used in FEI protocol, but there no rate...

6.6AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/02 12:00 a.m.โ€ข18 views

User can always stay in UNSTAKE_PERIOD

Lines of code Vulnerability details Impact Due to how the cooldown period is calculated after a transfer, a user can strategically transfer between accounts to increase their cooldown timestamp while keeping it within the UNSTAKEPERIOD, so they can unstake anytime, defeating the cooldown mechanis...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/01 12:00 a.m.โ€ข18 views

Non unique token ID might lead to collusion

Lines of code Vulnerability details Impact Token IDs are defined as concatenation of points, total supply + 1. The total supply can decrease when split process in progress. This means that the contract might try to mint a token with an ID which already exists. Proof of Concept 1. Navigate to the...

6.7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/01 12:00 a.m.โ€ข18 views

Add a timelock to setPlatformFee()

Lines of code Vulnerability details Impact It is a good practice to give time for users to react and adjust to critical changes. A timelock provides more guarantees and reduces the level of trust required, thus decreasing risk for users. It also indicates that the project is legitimate. Here, no...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/01 12:00 a.m.โ€ข18 views

No reentrancy guard on mint() function that has a callback

Lines of code Vulnerability details Impact the mint function calls mint which has a callback to the "to" address argument. Functions with callbacks should have reentrancy guards in place for protection against possible malicious actors both from inside and outside the protocol. Proof of Concept...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/04/01 12:00 a.m.โ€ข18 views

Improper Upper Bound Definition on the Fee

Lines of code Vulnerability details Impact The platformFee does not have any upper or lower bounds. Values that are too large will lead to reversions in several critical functions or the platform user will lost all funds when paying the fee. Proof of Concept 1. Navigate to the following contract...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/30 12:00 a.m.โ€ข18 views

use of transfer() instead of call() to send eth

Lines of code Vulnerability details Impact Use of transfer might render ETH impossible to withdraw becuase after istanbul hardfork , there is increases in the gas cost of the SLOAD operation and therefore breaks some existing smart contracts.Those contracts will break because their fallback...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/30 12:00 a.m.โ€ข18 views

Borrower funds can get stuck

Lines of code Vulnerability details Impact If request status is expired then full borrower collateral amount will get stuck as withdrawableCollateral will always be 0 even though borrower has repaid 90% of the amount Proof of Concept 1. User A deposit collateral against his request using...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/30 12:00 a.m.โ€ข18 views

if msg.value > amount , then extra eth is not transfered back to user

Lines of code Vulnerability details Impact if msg.value amount , there is no mechanism to send extra eth back due to which user will lose extra Proof of Concept function startBridgeTokensViaCBridgeLiFiData memory lifiData, CBridgeData calldata cBridgeData public payable if cBridgeData.token !=...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/24 12:00 a.m.โ€ข18 views

QTokens with the same symbol will lead to mistakes

Lines of code Vulnerability details The README.md states: Bob can then trade the QToken with Alice for a premium. The method for doing that is beyond the scope of the protocol but can be done via any smart contract trading platform e.g. 0x. It is therefore important that tokens be easily...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/24 12:00 a.m.โ€ข18 views

[WP-H6] Admin of the upgradeable proxy contract of Controller.sol can rug users

Lines of code Vulnerability details Use of Upgradeable Proxy Contract Structure allows the logic of the contract to be arbitrarily changed. This allows the proxy admin to perform malicious actions e.g., taking funds from users' wallets up to the allowance limit. This action can be performed by th...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/24 12:00 a.m.โ€ข18 views

[WP-H2] EIP712MetaTransaction.executeMetaTransaction() failed txs are open to replay attacks

Lines of code Vulnerability details Any transactions that fail based on some conditions that may change in the future are not safe to be executed again later e.g. transactions that are based on others actions, or time-dependent etc. In the current implementation, once the low-level call is failed...

7.2AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/19 12:00 a.m.โ€ข18 views

getSharesForAmount returns wrong value when totalAssets == 0

Lines of code Vulnerability details Impact The getSharesForAmount function returns 0 if totalAssets == 0. However, if totalSupply == 0, the actual shares that are minted in a deposit are amount even if totalAssets == 0. Contracts / frontends that use this function to estimate their deposit when...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/19 12:00 a.m.โ€ข18 views

Inflate collateral token and partial bypass minting fee by directly transferring to _strategyController

Lines of code Vulnerability details Impact This bug enables partial bypass of fee while minting Collateral tokens through Collateral.deposit. Attackers can also utilize this bug to inflate prices of Collateral tokens, creating "unfair advantages" for early minters of Collateral tokens. Proof of...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/18 12:00 a.m.โ€ข18 views

Malicious User can Manipulate PreCT Mint Logic with Direct Base Token Transfer

Lines of code Vulnerability details Impact A bad actor can steal funds from future depositors by sending the base token directly to the Strategy or StrategyController contracts. This exploit is more effective the less shares that have already been distributed, perhaps early into the launch of the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/18 12:00 a.m.โ€ข18 views

Market expiry behaviour differs in implementation and documentation

Lines of code Vulnerability details Description The docs say that โ€œIf a market has not settled by its expiry date, it will automatically settle at the lower bound of its Valuation Range.โ€ However, in the implementation, the expiry date is entirely ignored. The default settlement after expiry is a...

6.7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/17 12:00 a.m.โ€ข18 views

Manipulating PreCT Mint Logic with Direct Base Token Transfer

Lines of code Vulnerability details Impact A bad actor can steal funds from future depositors by sending the base token directly to the Strategy or StrategyController contracts. This exploit is more effective the less shares that have already been distributed, perhaps early into the launch of the...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/16 12:00 a.m.โ€ข18 views

Possible frontrun on deposits on LiquidityPool

Lines of code Vulnerability details Impact Rewards are given to a user for depositing either ERC20 tokens or their native token into the LiquidityPool. This reward is used to incentivize users to deposit funds into the liquidity pool when the pool is not in an equilibrium state. For regular users...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/10 12:00 a.m.โ€ข18 views

DDOS - csanuragjain

Duplicate of 119 --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/09 12:00 a.m.โ€ข18 views

Whitelisting is Disabled in CrossAnchorBridge.sol

Lines of code Vulnerability details Impact Upon deployment/initialisation, an array of collateral tokens are added to a whitelist, meaning that these tokens are the only tokens that should be deposited/redeemed. Any unsupported tokens should correctly revert so as to avoid instances where Terra...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/02 12:00 a.m.โ€ข18 views

Primary seller can avoid paying the primary fee

Lines of code Vulnerability details Impact A primary seller can circumvent the 15% fee and pay 5% as a secondary seller. Context The foundation protocol charges a 15% fee if the sale is a primary sale and 5% if it's a secondary sale. There are 2 conditions that must be met for a sale to be...

6.7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/02 12:00 a.m.โ€ข18 views

buyFromPrivateSaleFor() Will Fail if The Buyer Has Insufficient Balance Due to an Open Offer on The Same NFT

Lines of code Vulnerability details Impact The buyFromPrivateSaleFor function allows sellers to make private sales to users. If insufficient ETH is provided to the function call, the protocol will attempt to withdraw the amount difference from the user's unlocked balance. However, if the same use...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/02 12:00 a.m.โ€ข18 views

_getCreatorPaymentInfo() is Not Equipped to Handle Reverts on an Unbounded _recipients Array

Lines of code Vulnerability details Impact The getCreatorPaymentInfo function is utilised by distributeFunds whenever an NFT sale is made. The function uses try and catch statements to handle bad API endpoints. As such, a revert in this function would lead to NFTs that are locked in the contract...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/03/02 12:00 a.m.โ€ข18 views

An offer made after auction end can be stolen by an auction winner

Lines of code Vulnerability details Impact An Offer which is made for an NFT when auction has ended, but its winner hasn't received the NFT yet, can be stolen by this winner as transferFromEscrow being called by acceptOffer will transfer the NFT to the winner, finalising the auction, while no...

6.6AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/02/23 12:00 a.m.โ€ข18 views

QA Report

LOW : 1. Title : Missing limit on how many AMMs can be added Impact : The governance can add an amm, by calling whitelistAmm function, however there is no limit on how many amm that the contract can be held, if the governance keep adding amm, then the clearing house will brick with out of gas,...

6.7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/02/23 12:00 a.m.โ€ข18 views

Attacker may DDOS Withdrawal by Making Multiple Small Requests to withdraw()

Lines of code Vulnerability details Impact 1. Attacker call function withdraw with lowest amount eg. 1 0.000001 VUSD 2. The withdrawal request will go into waiting list in variable "withdrawals" 3. Attacker can repeat Step 1 & 2 to make Making Multiple Small Requests to withdraw until pending...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/02/17 12:00 a.m.โ€ข18 views

ThecosomataETH.addLiquidity can be subject to sandwich attack

Lines of code Vulnerability details Impact Liquidity addition can happen at a manipulated pool state and result in receiving fewer LP shares than actual market state dictates Proof of Concept addLiquidity measures slippage based on the pool returned amount via calctokenamount: Pool returned amoun...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/02/02 12:00 a.m.โ€ข18 views

Users Can Deny The Treasury Manager Contract From Claiming COMP Incentives

Handle leastwood Vulnerability details Impact The treasury manager is appointed by the Notional DAO and is tasked with harvesting rewards both COMP incentives and assets from Notional and performing NOTE buybacks using WETH. The TreasuryManager.harvestCOMPFromNotional function is only callable by...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/02/02 12:00 a.m.โ€ข18 views

Drain of funds by reentrancy in OpenLevV1.addMarket

Handle 0x1f8b Vulnerability details Impact It's possible to create a market, create trades, create a new market with different values, and preserve the previous trades pointing to the new tokens. Proof of Concept The method addMarket inside the contract OpenLevV1Lib increase the marketId numPairs...

7.1AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/02/02 12:00 a.m.โ€ข18 views

Unable to withdraw if block.number > 32-bit

Handle gzeon Vulnerability details Impact If block.number 32-bit, updateTotalSupplyCheckPoints would revert. updateTotalSupplyCheckPoints is called from mint and burn, which mean withdraw would also revert. Proof of Concept uint32 blockNumber = safe32block.number, "block number exceeds 32 bits";...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/02/02 12:00 a.m.โ€ข18 views

getVotingPower Is Not Equipped To Handle On-Chain Voting

Handle leastwood Vulnerability details Impact As NOTE continues to be staked in the sNOTE contract, it is important that Notional's governance is able to correctly handle on-chain voting by calculating the relative power sNOTE has in terms of its equivalent NOTE amount. getVotingPower is a useful...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/02/02 12:00 a.m.โ€ข18 views

latestAnswer doesn't check if the value is up to date

Handle pauliax Vulnerability details Impact EIP1271Wallet.sol is calling latestAnswer to get the last price: uint256 oraclePrice = toUint AggregatorV2V3InterfacepriceOracle.latestAnswer ; This method will return the last value, but you wonโ€™t be able to check if the data is fresh. On the other han...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/02/02 12:00 a.m.โ€ข18 views

FarmingPools.sol Some users may not be able to get back their funds for tokens with tax on transfer

Handle WatchPug Vulnerability details Per the doc: Token with tax and rewards should accounted correctly and share with all holder accordingly. In the current implementation of FarmingPools.solstake, it assumes that the received amount is the same as the transfer amount, and recording it to...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/01/31 12:00 a.m.โ€ข18 views

Upper limit for set CoolDownTime

Handle Jujic Vulnerability details Impact There is no upper limit for coolDownTimeInSeconds. It may be set too large. Proof of Concept function setCoolDownTimeuint32 coolDownTimeInSeconds external onlyOwner coolDownTimeInSeconds = coolDownTimeInSeconds; emit...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/01/27 12:00 a.m.โ€ข18 views

Reentrancy in withdrawGovernanceAsset

Handle 0x1f8b Vulnerability details Impact The method withdrawGovernanceAsset it's vulnerable to reentrancy attacks. Proof of Concept The method FlashGovernanceArbiter.withdrawGovernanceAsset it's vulnerable to reentrancy attacks because the flag stored in pendingFlashDecision it's deleted AFTER...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/01/26 12:00 a.m.โ€ข18 views

Attacker can collect all positive rebase from the poll

Handle gzeon Vulnerability details Impact The concept of ElasticSwap is not to change relative price upon positive rebase event. However, this allow an attacker to sandwich a known positive rebase event for profit. Proof of Concept 1. Assuming we have pool with 10000 base and 10000 quote token 2...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/01/26 12:00 a.m.โ€ข18 views

The amount of tokens received by the pool might be less than expected for feeOnTransfer tokens

Handle UncleGrandpa925 Vulnerability details Impact This issue impacts any pools that use fee-on-transfer quoteTokens. The codebase is inspired by Uniswap, with one important change: the router is built right into the pool themselves. In addLiquidity, after having updated all internal parameters...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/01/26 12:00 a.m.โ€ข18 views

calculateLiquidityTokenFees returns zero fee

Handle sirhashalot Vulnerability details Impact The MathLib.sol calculateLiquidityTokenFees function returns a non-zero fee quantity only if rootK rootKLast. The rootK and rootKLast values are calculated from the same values, so this will never occur. This will result in the DAO never receiving a...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/01/26 12:00 a.m.โ€ข18 views

Non-transferable critical privileged role

Handle gzeon Vulnerability details Impact DEPLOYER is a constant in Manager and it is the only role that can call setSherlockCoreAddress to change sherlockCore address. Consider this is a critical function and there might be a need to change the deplorer address in the future e.g. governance...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/01/26 12:00 a.m.โ€ข18 views

Attacker can grief initial pool by providing 1 baseToken, 1 quoteToken, and manually transferring 1 baseToken

Handle camden Vulnerability details Impact Read the attack composition below. But the main criteria is that the attacker has to be the first person to provide liquidity. They can at least from my testing permanently grief a pool and make it impossible for any later person to get liquidity tokens,...

6.6AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/01/24 12:00 a.m.โ€ข18 views

tokenBalanceOfAddress of nftOwner becomes permanently incorrect after arbRestake

Handle hyh Vulnerability details Impact Sucessfull arbRestake performs redeemShares for arbRewardShares amount to extract the arbitrager reward. This effectively reduces shares accounted for an NFT, but leaves untouched the addressShares of an nftOwner. As a result the tokenBalanceOfAddress...

6.6AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/01/21 12:00 a.m.โ€ข18 views

Add a timelock to ExchangeFactory.sol:setFeeAddress() (function that sets a key variable)

Handle Dravee Vulnerability details Impact To give more trust to users: functions that set key/critical variables should be put behind a timelock. Proof of Concept Here, a malicious owner could set the feeAddress to his own and the fee from liquidity tokens that get minted would get stolen: . As...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2022/01/20 12:00 a.m.โ€ข18 views

No check that _baseToken or _quoteToken address is not address(this)

Handle jayjonah8 Vulnerability details Impact In ExchangeFactory.sol the createnewExchange function takes in the addresses baseToken and quoteToken. There are require checks to make sure that these are not zero addresses but no require checks to ensure that either of these addresses are not...

7.1AI score
SaveExploits0
Total number of security vulnerabilities5000