Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
•added 2022/03/30 12:00 a.m.•20 views

Improper Token Balance Check on swap()

Lines of code Vulnerability details Improper Token Balance Check on swap Description The swap can be separated in 2 paths, swap native to ERC20, or swap ERC20 to native. The contract performs a fromAssetId balance check before calling swap, mean that the attacker could periodically check for ERC2...

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

Fixed Amount of Gas Sent in Call May Be Insufficient

Lines of code Vulnerability details Impact The function attemptETHTransfer makes a call with a fixed amount of gas, 30,000. If the receiver is a contract this may be insufficient to process the receive function. As a result the user would be unable to receive funds from this function. Proof of...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/29 12:00 a.m.•20 views

Incorrect number of seconds in ONE_YEAR variable

Lines of code Vulnerability details Impact In HolyPaladinToken.sol the ONEYEAR variable claims that there are 31557600 seconds in a year when this is incorrect. The ONEYEAR variable is used in the getCurrentVotes function as well as the getPastVotes function so it is vital that the correct time i...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/29 12:00 a.m.•20 views

Missing input validation could lead to loss of fund

Lines of code Vulnerability details Impact A faulty input in GenericSwapFacet.swapTokensGeneric could cause funds to get stuck in the contract. In addition, tokens left in the LiFi contract can be retrieved by anyone see issue: ERC20 withdrawals can be frontrun, leading to loss of fund. Proof of...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/29 12:00 a.m.•20 views

Borrower can stop lenders from withdrawing interest payments

Lines of code line Vulnerability details Impact A borrower can prevent lenders from being able to withdraw any interest payments. For example, a malicious borrower could create a credit line proposal with a long duration and a promise of regular interest payments to entice lenders to deposit into...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/24 12:00 a.m.•20 views

Mint spread collateral-less and conjuring collateral claims out of thin air with implicit arithmetic rounding and flawed int to uint conversion

Lines of code Vulnerability details Impact This report presents 2 different incorrect behaviour that can affect the correctness of math calculations 1. Unattended Implicit rounding in QuantMath.sol div and mul 2. Inappropriate method of casting integer to unsigned integer in SignedConverter.sol...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/21 12:00 a.m.•20 views

Chainlink pricer is using a deprecated API

Lines of code Vulnerability details Impact According to Chainlink's documentation, the latestAnswer function is deprecated. This function might suddenly stop working if Chainlink stop supporting deprecated APIs. And the old API can return stale data. Proof of Concept Tools Used None Recommended...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/10 12:00 a.m.•20 views

Too many amms - omik

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

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

CL - throttle

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

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

Too many amms - Dravee

Duplicate of 97 --- 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.•20 views

Staking tokens can be stolen

Lines of code Vulnerability details Impact The staking contract keeps track of shares of each user. When withdrawing from the staking contract the amount parameter is converted to shares and this value is decreased shares = amount / totalbalance totalshare. This shares calculation rounds down whi...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/09 12:00 a.m.•20 views

Simple interest calculation is not exact

Lines of code Vulnerability details Impact The borrow rate uses a simple interest formula to compute the accrued debt, instead of a compounding formula. pub fn computeinterestraw state: &mut State, blockheight: u64, balance: Uint256, aterrasupply: Uint256, borrowrate: Decimal256, targetdepositrat...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/06 12:00 a.m.•20 views

Borrowers can get back collateral without repaying loans

Lines of code Vulnerability details Impact A borrower can put up collateral for a loan then immediately withdraw the collateral, effectively stealing the loan amount from the lender. Proof of Concept The previous implementation from the prior contest used this check in TimeswapPair.pay which...

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

The store method allows you to store the same token twice

This issue has been created to upgrade a QA report submission to a medium severity finding. From 0x1f8b: The store method allows you to store the same token twice in NestedRecords.solL130 To do this you must first call storenftId,tokenA,0,reserve and then storenftId,tokenA,100000,reserve because ...

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

Fees Are Incorrectly Charged on Unfinalized NFT Sales

Lines of code Vulnerability details Impact Once an auction has ended, the highest bidder now has sole rights to the underlying NFT. By finalizing the auction, fees are charged on the sale and the NFT is transferred to auction.bidder. However, if auction.bidder accepts an offer before finalization...

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

Upgradable escrow contract

Lines of code Vulnerability details Impact Upgradable escrow contract pose great risk to user who approved their NFT to the contract. Most popular token / NFT exchange do not require user approve their asset to admin upgradable contract. This also increase user gas usage because they would have t...

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

revert can be bypassed by forcefully sending ETH using selfdestruct()

Lines of code Vulnerability details Impact In NFTMarket.sol there is a receive function that reverts if the msg.sender is not the feth address. This is an attempt to prevent other parties from sending ETH to the contract but this security check can easily be bypassed by an attacker forcefully...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/24 12:00 a.m.•20 views

Using transfer instead of safeTransfer allows attacker to steal all staked tokens

Lines of code Vulnerability details Impact An attacker can drain all staked tickets. Proof of Concept In the withdrawDelegationToStake function the user can transfer from one of his delegations to the TWABDelegator contract and receive vault tokens he can then unstake to get his tickets back...

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

denial fo service

Lines of code Vulnerability details processWithdrawals can process limited amount in each call. an attacker can push to withdrawals enormous amount of withdrawals with amount = 0. in order to stop the dos attack and process the withdrawal, the governance needs to spend as much gas as the attacker...

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

Missing Slippage Checks on ClearingHouse._liquidateMaker()

Lines of code Vulnerability details Impact The liquidateMaker function makes a call to AMM.removeLiquidity but does not provide suitable values for minQuote and minBase. As per the @todo, this call is prone to sandwich attacks, resulting in potentially fewer tokens for the maker. Proof of Concept...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/23 12:00 a.m.•20 views

QA Report

1. VUSD.sol - withdrawals list can become too large so normal users will cost more gas to withdraw. Impact Function withdraw do not have check for amount 0, an user can call it infinite time and make withdrawal list too large And because the function processWithdrawals processes withdrawals in...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/23 12:00 a.m.•20 views

ClearingHouse fail if too many amm whitelisted

Lines of code Vulnerability details Impact Governance can whitelist amm in ClearingHouse using the whitelistAmm function. Since a lot of function in the ClearingHouse contract will iterate each of the amm in amms and call various amm.function, if too many amm is whitelisted it is possible for tho...

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

No check for stale chainlink oracle data in getUnderlyingPrice function

Lines of code Vulnerability details No check for stale chainlink oracle data in getUnderlyingPrice function Impact There is no check if the value of answer returned by chainlink latestRoundData is latest or stale. If stale price is returned, it may result in wrong calculation used in upstream...

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

[WP-H4] The collateral assets impounded with settleBadDebt() will be frozen in the insuranceFund contract

Lines of code Vulnerability details In MarginAccount.solsettleBadDebt, the collateral assets will be seized and transferred to the insuranceFund contract. However, there is no way for the liquidity providers of the insuranceFund to get back the collateral assets. In the current implementation,...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/21 12:00 a.m.•20 views

Griefing attack at VUSD withdraw queue is possible

Lines of code Vulnerability details Impact A malicious user can make lots of withdrawal requests to fill up the queue, making VUSD withdrawals unreachable for all other users Proof of Concept There is no control of the size or number of the withdrawal requests, and VUSD will burn even 1 wei amoun...

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

Withdrawals can be spammed and other users blocked

Lines of code Vulnerability details Impact The VUSD.processWithdrawals function only performs maxWithdrawalProcesses actually maxWithdrawalProcesses + 1 iterations per call. Withdrawals can be freely spammed by a griefer calling burnamount with a zero amount. All future withdrawals are blocked...

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

Users Can Frontrun Calls to updateRewardsMetadata() And Claim Tokens Twice

Lines of code Vulnerability details Impact The updateRewardsMetadata function is called by the BribeVault contract by the admin role. The function will take a list of distributions which are used to update the associated reward metadata. It is expected that the merkle root will be updated to...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/17 12:00 a.m.•20 views

RewardDistributor._claim uses native token payable.transfer, which is usafe for smart contracts

Lines of code Vulnerability details Impact When reward.token is set to vault address and native token is used, it is sent out via payable.transfer call. This is unsafe as transfer has hard coded gas budget and can fail when the account is a smart contract. Such transactions will fail for smart...

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

Wrong logic around areOperatorsImported

Lines of code Vulnerability details Impact The logic related to the areOperatorsImported method is incorrect and can cause an operator not to be updated because the owner thinks it is already updated, and a vulnerable or defective one can be used. Proof of Concept The operators mapping is made up...

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

Sale operator may frontrun purchases in order to modify the price arbitrarily

Lines of code Vulnerability details Impact Buyer's cannot set a minimum amount of CTDL that they will expect so BadgerDAO can force them to receive a smaller amount than expected. Proof of Concept The buy function only allows the buyer to specify an amount of tokenIn to send to the contract and...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/06 12:00 a.m.•20 views

Owner never calls finalize() = rug pull

Lines of code Vulnerability details Impact In order for users to claim their promised tokenOut tokens, the contract owner must call the finalize function. If the owner never calls the finalize function, no user can call the claim function to get their tokens. The owner can call the sweep function...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/02 12:00 a.m.•20 views

Double transfer in the transferAndCall function of ERC677

Handle shw Vulnerability details Impact The implementation of the transferAndCall function in ERC677 is incorrect. It transfers the value amount of tokens twice instead of once. Since the Flan contract inherits ERC667, anyone calling the transferAndCall function on Flan is affected by this...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/02 12:00 a.m.•20 views

Use of deprecated Chainlink API

Handle defsec Vulnerability details Impact The contract uses Chainlink’s deprecated API latestAnswer. Such functions might suddenly stop working if Chainlink stopped supporting deprecated APIs. Impact: Deprecated API stops working. Prices cannot be obtained. Protocol stops and contracts have to b...

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

Two pairs can have same tokens

Handle sirhashalot Vulnerability details Impact The createLPoolPair function in ControllerV1.sol tries to prevent a pair from being create if it already exists. It does this with the statement requirelpoolPairstoken0token1.lpool0 == address0 || lpoolPairstoken1token0.lpool0 == address0, 'pool pai...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/02 12:00 a.m.•20 views

Flash loan price manipulation in purchasePyroFlan()

Handle sirhashalot Vulnerability details Impact The comment on line 54 of FlanBackstop.sol states "the opportunity for price manipulation through flash loans exists", and I agree that this is a serious risk. While the acceptableHighestPrice variable attempts to limit the maximum price change of t...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/31 12:00 a.m.•20 views

Calling generateFLNQuote twice in every block prevents any migration

Handle camden Vulnerability details Impact and PoC In the Uniswap helper, generateFLNQuote is public, so any user can generate the latest quote. If you call this twice in any block, then the two latest flan quotes will have a blockProduced value of the current block's number. These quotes are use...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/30 12:00 a.m.•20 views

Oracle data feed is insufficiently validated.

Handle throttle Vulnerability details Impact Price can be stale and can lead to wrong quoteAmount return value Proof of Concept Oracle data feed is insufficiently validated. There is no check for stale price and round completeness. Price can be stale and can lead to wrong quoteAmount return value...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/30 12:00 a.m.•20 views

Cvx3CrvOracle does not check that Chainlink data is fresh.

Handle TomFrenchBlockchain Vulnerability details Impact Usage of stale prices when querying chainlink oracles. Proof of Concept Cvx3CrvOracle queries chainlink oracles for the prices of DAI, USDC and USDT, however it doesn't require that the response is fresh by checking which round the answer wa...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/30 12:00 a.m.•20 views

Improper Validation Of Chainlink's latestRoundData Function

Handle leastwood Vulnerability details Impact latestRoundData is missing additional validation to ensure that the round is complete and has returned a valid/expected price. This is documented here. Proof of Concept , int256 daiPrice, , , = DAI.latestRoundData; , int256 usdcPrice, , , =...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/30 12:00 a.m.•20 views

Malicious Users Can Transfer Vault Collateral To Other Accounts To Extract Additional Yield From The Protocol

Handle leastwood Vulnerability details Impact ConvexYieldWrapper.sol is a wrapper contract for staking convex tokens on the user's behalf, allowing them to earn rewards on their deposit. Users will interact with the Ladle.sol contract's batch function which: Approves Ladle to move the tokens...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/30 12:00 a.m.•20 views

Arbitrary call

Handle Tomio Vulnerability details Impact In the https://github.com/code-423n4/2022-01-yield/blob/main/contracts/ConvexModule.solL15 the addVault take 2 parameters as input, convexStakingWrapper, and vaultId, however the convexStakingWrapper is user controllable therefore the user could make an...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/30 12:00 a.m.•20 views

Malicious Users Can Duplicate Protocol Earned Yield By Transferring wCVX Tokens To Another Account

Handle leastwood Vulnerability details Impact ConvexYieldWrapper.sol is a wrapper contract for staking convex tokens on the user's behalf, allowing them to earn rewards on their deposit. Users will interact with the Ladle.sol contract's batch function which: Approves Ladle to move the tokens...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/27 12:00 a.m.•20 views

_supportDexs array length not checked in constructor

Handle jayjonah8 Vulnerability details Impact In OpenLevDelegator.sol an array of supportDexs is passed to the constructor function and then passed to the delegateTo function but the supportDexs arrays length is not checked which can result in costly errors. Proof of Concept Tools Used Manual cod...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/27 12:00 a.m.•20 views

Anyone can withdraw others

Handle mics Vulnerability details Anyone can withdraw users shares. Although we think that they are sent to the right address, it is still 1 not the desired behavior 2 can be dangerous if the receiver is a smart contract 3 the receiver may not know someone withdraw him XOLE.withdrawReward...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/26 12:00 a.m.•20 views

[WP-H2] Transferring quoteToken to the exchange pool contract will cause future liquidity providers to lose funds

Handle WatchPug Vulnerability details In the current implementation, the amount of LP tokens to be minted when addLiquidity is calculated based on the ratio between the amount of newly added quoteToken and the current wallet balance of quoteToken in the Exchange contract. However, since anyone ca...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/26 12:00 a.m.•20 views

Sherlock: Decouple yield strategy with withdrawals

Handle GreyArt Vulnerability details Impact If there are funds remaining in an old strategy, there is only 1 way to claim those funds which is through Sherlock.updateYieldStrategy . It is quite an inconvenience to do this. Recommended Mitigation Steps Create an additional function to allow anyone...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/25 12:00 a.m.•20 views

Owner can set arbitrary premium which allow nonStakers drain funds

Handle wuwe1 Vulnerability details Impact Owner can set arbitrary premium, this will cause protocol lose all the activeBalance, stakers lose all the claimable premium and nonStakers can drain all the usdc. Proof of Concept setProtocolPremium does not check the value of premium. premium can be...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/20 12:00 a.m.•20 views

Possible Re-entrancy in _sendSherRewardsToOwner

Handle static Vulnerability details Vulnerability details Impact If the SHER token performs a callback, such as in ERC-777 tokens, when performing transfers, the sendSherRewardsToOwner function can be run multiple times to extract more rewards than should be available for a single NFT. Proof of...

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

[WP-M0] MINTER_ROLE can be granted by the deployer of L2LivepeerToken and mint arbitrary amount of tokens

Handle WatchPug Vulnerability details function mintaddress to, uint256 amount external override onlyRoleMINTERROLE mintto, amount; emit Mintto, amount; Using the mint function of L2LivepeerToken, an address with MINTERROLE can burn an arbitrary amount of tokens. If the private key of the deployer...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/19 12:00 a.m.•20 views

Potential Reentrancy at multiple places

Handle 0v3rf10w Vulnerability details Impact Potential Reentrancy at multiple places Proof of Concept L2Migrator.finalizeMigrateDelegatorIMigrator.MigrateDelegatorParams contracts/L2/gateway/L2Migrator.sol130-188: L1Escrow.approveaddress,address,uint256 contracts/L1/escrow/L1Escrow.sol21-28...

7AI score
SaveExploits0
Total number of security vulnerabilities5000