Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
•added 2022/09/08 12:00 a.m.•21 views

There is a problem with price calculation using BaseV1Pair._getAmountOut.

Lines of code Vulnerability details Impact Currently, it calculates token price with the amount of decimals here and normalizes using 1e18 after that. There are some irregular tokens with small decimals and the token price might be calculated wrongly. Proof of Concept As we can see here, some...

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

TWAP LP price manipulation

Lines of code Vulnerability details Impact The total value locked sum of the pair is used to price the LP. But the reserves of the underlying can be easily influenced by flashloan, then the TVL can vary dramatically.Just like what happened before here Warp. Although getPriceLP use TWAP to calcula...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/09/08 12:00 a.m.•21 views

Lack of minimal sufficient liquidity check can result in unreliable prices

Lines of code Vulnerability details function getPriceCantoaddress token internal view returnsuint erc20 token = erc20token; address pair = pairForaddresswcanto, addresstoken, false; if !isPairpair return 0; // this pair does not exist with Canto uint decimals = 10 token.decimals; // get decimals ...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/09/08 12:00 a.m.•21 views

USING SYMBOL FOR TOKEN IDENTIFICATION

Lines of code Vulnerability details Impact Proof of Concept An exploiter may create a fake tokens whose symbols are cNOTE, cUSDT or cUSDC. When somebody call computrolle’s liquidateCalculateSeizeTokens ,it will give an unlisted token with other token's it can be unlisted token or listed token...

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

USER CAN BLOCK GOVERNANCE VOTING BY SUBMITTING MULTIPLE PROPOSALS

Lines of code Vulnerability details Impact A user can submit multiple proposals and then endorse each one of them to be able to activate them, and because the Governance contract allow only one active proposal, this user will be able to always activate his proposals and thus not allowing any othe...

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

Lock of voting power

Lines of code Vulnerability details Description There is a function vote in OlympusGovernance smart contract. It contains the logic for voting on proposals. In the case of failed vote voters' tokens will remain on the balance of OlympusGovernance until the activation of the new proposal. But for...

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

getLastPrice() return wrong price

Lines of code Vulnerability details Impact operate and addObservation both of them use PRICE.getLastPrice but it will return wrong price. So all the updates are just random prices Proof of Concept 1- keeper invoke beat on Heart.sol 2- this operator.operate; to trigger price range update and marke...

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

BondCallback Re-Entrancy vulnerability

Lines of code Vulnerability details Impact when withdraw reserves from TRSRY to msg.sender,it may go to other external uncontrollable contract logic if reserve token contract transferFrom function call to other contract ,it will cause other market use this callback asset loss or this contract...

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

User Votes will stuck

Lines of code Vulnerability details Impact Due to insufficient checks User will not be able to withdraw there Votes after a non successful proposal. 1. The effect could be permanent if majority vote holders participated in the proposal, such that new proposal can't be created due to noone having...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/09/01 12:00 a.m.•21 views

User can get loan without dept

Lines of code Vulnerability details Impact User can get loan without permission and dept Proof of Concept TRSRY.withdrawReserves does same validation with TRSRY.getLoan and TRSRY.withdrawReserves does not have permissioned modifier, so anyone can get loan from Treasury without any permission and...

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

MISSING INPUT CKECK WHEN SETTING NEW **QuorumCoefficient**

Lines of code Vulnerability details Impact In the setQuorumCoefficient , setDynamicQuorumParams functions when the admin sets a new QuorumCoefficient, there is no check on the newQuorumCoefficient parameter which means that a wrong QuorumCoefficient could be set either being very big or very smal...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/27 12:00 a.m.•21 views

NounsDAOLogicV2's state() and proposals() will use initial dynamic params for all V1 proposals

Lines of code Vulnerability details state and proposals call quorumVotesid that utilize initial dynamic params for all V1 proposals by misusing 0 as a proposal creation block. I.e. new field is referenced while it is zero for all V1 proposals. This way all V1 proposals will use the same initial s...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/27 12:00 a.m.•21 views

Timelock can be set by anyone except admin since it was not initialize

Lines of code Vulnerability details Impact Timelock can be manipulate by anyone Proof of Concept Timelock NounsDAOExecutor can be set by anyone since timelock was not set acceptAdmin on initialize so it can be manipulate. Tools Used Manual Review Recommended Mitigation Steps Adding...

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

createNFTDropCollectionWithPaymentAddress() doesn't granting the creator to receive royalties and mint payments

Lines of code Vulnerability details Impact createNFTDropCollectionWithPaymentAddress doesn't ensure to receive royalties and mint payments to the address payable paymentAddress Proof of Concept The documentation side Create a new drop collection contract with a custom payment address and in...

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

Blocking Through Change of Blocklist Could Trap Tokens

Lines of code Vulnerability details Impact In the normal flow, an account that is blocked is protected from having its funds locked by a call to forceUndelegate, as occurs on line 27 of Blocklist.sol. However, this protection could potentially be circumvented if the value of blocklist is changed ...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/15 12:00 a.m.•21 views

VotingEscrow Owner Can Give Power to Force Undelegate

Lines of code Vulnerability details Impact As the owner can change the blocklist to anything, a malicious or compromised owner has the ability to set blocklist to an EOA which could directly call forceUndelegate on any number of users. This could be used in bad faith to distort voting. Recommende...

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

delegated value can go to negative value during subtracting with amount. This will cause issue when delegating amount again.

Lines of code Vulnerability details Impact re-delegating / delegating again could not get actual delegated value. Proof of Concept Tools Used Manual code review. VS code Recommended Mitigation Steps update delegated value to zero when it goes to negative value ifdelegated 0 delegated = 0; --- The...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/15 12:00 a.m.•21 views

The current implementation of the VotingEscrow contract doesn't support fee on transfer tokens

Lines of code Vulnerability details Impact Some ERC20 tokens implemented so a fee is taken when transferring them, for example STA and PAXG. The current implementation of the VotingEscrow contract will mess up the accounting of the locked amounts if token will be a token like that, what will lead...

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

MarketFees's treasury can have potentially a malicious admin

Lines of code Vulnerability details Impact / Proof of Concept In contracts/FoundationTreasury.sol, an attacker can frontrun a call to initialize to register as an admin. If the address of this treasury is shared or is already shared with NFTDropMarket's constructor line 83, then on line 87,...

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

Unsafe casting from int128 can cause wrong accounting of locked amounts

Lines of code Vulnerability details Impact The unsafe casting to int128 variable can cause its value to be different from the correct value. For example in the createLock function, the addition to the locked amount variable is done by locked.amount += int128int256value. In that case, if value is...

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

msg.sender lending pool and initiator can be forged in executeOperationin MImoLeverage

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. the function signature is function executeOperation address calldata assets, uint256 calldata amounts, uint256 calldata premiums, address initiator, bytes calldata params external override returns bool...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/07 12:00 a.m.•21 views

rbData.toCollateral address can be different than the token address set in swapData.dexTxData.

Lines of code Vulnerability details Impact rbData.toCollateral address can be different than the token address set in swapData.dexTxData. A manager can supply toCollateral address of the collateral within the contract but supply a different address in swapParams.dexTxData such that the contract...

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

No check if 'ecrecover()' fails

Lines of code Vulnerability details Impact addMember function makes a call to 'ecrecover' to grab the 'community owner' & 'new member'. The problem is that if 'ecrecover' fails it will return a 0 which is currently not guarded against. This was a problem in the famous Polygon Matic token bug. The...

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

Missing upper limit definition in replaceLenderFee() of HomeFi.sol

Lines of code Vulnerability details Missing upper limit definition in replaceLenderFee of HomeFi.sol Impact The admin of the HomeFi contract can set lenderFee to greater than 100%, forcing calls to lendToProject to all projects created in the future to revert. Proof of Concept Using the function...

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

MIMOEmptyVault.sol executeOperation() does not transfer the Vault leftover assets to the owner, it is locked in the MIMOEmptyVault

Lines of code Vulnerability details Impact MIMOEmptyVault.sol executeAction is supposed to pay off the debt and return the leftover assets to the owner of the Vault But In fact the emptyVault contract, after executing the executionOperation, only pays back the flash loan, and does not transfer th...

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

A NFT can be delegated to many NFTS

Lines of code Vulnerability details In VoteEscrowDelegation.sol in the function delegate, there is no check about if the tokenId NFT has already been delegated. Thus is it possible to delegate voting power multiple time. It's even possible to self delegate tokenId = toTokenId multiple times. By...

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

The function delegate doesn't work

Lines of code Vulnerability details In VoteEscrowDelegation.sol in the function delegate when nCheckpoint = 0, which is the case for every account that has not delegated yet, the function writeCheckpoint is called. However, this function computes nCheckpoints - 1 L101 which thus causes an...

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

The function _transferFrom doesn't work

Lines of code Vulnerability details In VoteEscrowDelegation.sol L242, the function removeDelegation is called externally with the syntax this., but that external call changes the msg.sender. So in the function removeDelegation, msg.sender will be the contract itself, not the user. But this functi...

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

Upgraded Q -> M from 264 [1659038303960]

Judge has assessed an item in Issue 264 as Medium risk. The relevant finding follows: L-05 Unbounded loop on array can lead to DoS As these arrays can grow quite large only push operations, no pop, the transaction's gas cost could exceed the block gas limit and make it impossible to call the...

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

Auctioneer could be left without reward

Lines of code Vulnerability details Impact Reward amount to whomever started the auction auctioneerCut counts at the moment when auction is bought, based on current auctioneerReward value using calcPayout function. ... if auction.auctioneer != to auctioneerCut = liquidatorCut.wmulauctioneerReward...

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

If baseJoin's available balance is greater than callers' amount no underlying will be transferred.

Lines of code Vulnerability details Impact If callers' amount is greater than baseJoin's available balance no underlying will be transferred but caller still gets liquidatorCut. This may also negatively impact the accounting since its updated under the assumption that the caller will transfer...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/07/17 12:00 a.m.•21 views

Liquidator cut is calculated incorrectly

Lines of code Vulnerability details Impact User can call payBase function to pay debt in return for collateral. But due to incorrect calculation User will obtain lesser collateral than what he should actually receive causing immediate permanent loss Proof of Concept 1. User calls payBase function...

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

Upgraded Q -> M from 233 [1657954928095]

Judge has assessed an item in Issue 233 as Medium risk. The relevant finding follows: --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/07/14 12:00 a.m.•21 views

Migration's withdrawContribution ignores the exchange between fractional tokens and ETH happened during Buyout attempt

Lines of code Vulnerability details withdrawContribution aims to return the funds to Migration participants. However, it uses initial userProposalFractionsproposalIdmsg.sender and userProposalEthproposalIdmsg.sender records for withdrawal accounting. Real funds structure is different after Buyout...

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

call() should be used instead of transfer() on address payable

Lines of code Vulnerability details call should be used instead of transfer on address payable Impact The use of the deprecated transfer function for an address wll make the transaction fail when 1. The withdrawer smart contract does not implement a payable function. 2. The withdrawer smart...

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

Royalty percentage in FERC1155 can be set to a value greater than 100%

Lines of code Vulnerability details Impact Function setRoyalties does not check that the value of percentage is less or equal to 100. Function royaltyInfo in L247 could return a royaltyAmount greater than salePrice. Proof of Concept This simple test shows how the controller can set a value of...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/07/14 12:00 a.m.•21 views

It is possible to burn someone's vault tokens

Lines of code Vulnerability details Impact It is possible to burn someone's vault tokens. Exploit Scenario Let's say Alice and Bob have some vault tokens. For some reason, Bob didn't grab an ice-cream for Alice, therefore Alice wanted to revenge for that. So she decided to burn Bob's vault tokens...

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

Upgraded Q -> H from 19 [1657761554720]

Judge has assessed an item in Issue 129 High risk. The relevant finding follows: InfinityExchange.solL326 and InfinityExchange.solL362: When a user pays too much ETH, the additional cost is not reimbursed in contrast to ERC20 transfers, where this is not possible. Consider reimbursing the user li...

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

block.timestamp used as time proxy

Lines of code Vulnerability details block.timestamp used as time proxy Impact a. Summary: Risk of using block.timestamp for time should be considered. b. Details: block.timestamp is not an ideal proxy for time because of issues with synchronization, miner manipulation and changing block times. In...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/07/14 12:00 a.m.•21 views

Usage of deprecated transfer to send ETH

Lines of code Vulnerability details Impact Transaction can revert Proof of Concept The original transfer used to send ETH uses a fixed stipend of 2300 gas. This was used to prevent reentrancy. However, this limit your protocol to interact with others contracts that need more than that to proceess...

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

TEST

Lines of code L1 Vulnerability details Impact Detailed description of the impact of this finding. Proof of Concept Provide direct links to all referenced code in GitHub. Add screenshots, logs, or any other relevant proof that illustrates the concept. Tools Used Recommended Mitigation Steps --- Th...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/07/08 12:00 a.m.•21 views

Missing checks on return data from the chainlink

Lines of code Vulnerability details Impact MED - the function of the protocol could be impacted 1. Use stale price information resulting to wrong project's balance 2. In the case of zero price, functions using price information will revert. Proof of Concept // JBPrices::priceFor at line 69 calls...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/07/08 12:00 a.m.•21 views

CHAINLINK’S LATESTROUNDDATA MIGHT RETURN STALE OR INCORRECT RESULTS

Lines of code Vulnerability details Impact This could lead to stale prices according to the Chainlink documentation: Proof of Concept On JBChainlinkV3PriceFeed.sol, we are using latestRoundData, but there is no check if the return value indicates stale data. function currentPriceuint256 decimals...

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

Reentrancy issues on function distributePayoutsOf

Lines of code Vulnerability details Impact In the contract JBPayoutRedemptionPaymentTerminal, the function distributePayoutsOf calls the internal function distributePayoutsOf and this internal function perfoms a loop where is using the function distributeToPayoutSplitsOfhttps://githu...

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

Price Feed is not checked for freshness and may report old / incorrect value

Lines of code Vulnerability details Price Feed is not checked for freshness In times of network conjestion, the priceFeed may take longer than expected to update, and the price may take longer than usual to update, in order to ensure the latest price is fresh within update window, you should veri...

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

The reserves accounting breaks when total balances surpas type(int256).max

Lines of code Vulnerability details Reserved tokens do not get minted automatically when a new payment is received. Instead, they must be explicitly distributed during the funding cycle which contains the reserved rate and splits that should be applied. If a funding cycle's reserved rate or split...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/07/08 12:00 a.m.•21 views

Arbitrary msg.sender can execute recordPaymentFrom, recordRedemptionFor, recordDistributionFor, recordUsedAllowanceOf, recordAddedBalanceFor. Malicious terminal may be passed to inject logic to data store.

Lines of code Vulnerability details Impact Arbitrary msg.sender can execute recordPaymentFrom, recordRedemptionFor, recordDistributionFor, recordUsedAllowanceOf, recordAddedBalanceFor. Malicious terminal may be passed to inject logic to data store. If data store is using custom logic that doesn't...

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

Usage of insecure transfer/transferFrom

Lines of code Vulnerability details Proof of Concept This is a well known issue, the protocol uses at many parts the insecure transfer/safeTransfer for generic ERC20 tokens. Recommended Mitigation Steps Use OZ Safe Transfer --- The text was updated successfully, but these errors were encountered:...

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

Failed transfer with low level call won't revert

Lines of code Vulnerability details In BaseV1-periphery.sol, the function safeTransferCANTO is as follows: function safeTransferCANTOaddress to, uint value internal bool success, = to.callvalue:valuenew bytes0; requiresuccess, "TransferHelper: ETHTRANSFERFAILED"; This function is utilized in a fe...

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

getSupplyRate returns rate per year instead of per block

Lines of code Vulnerability details Impact According to the documentation in InterestRateModel, getSupplyRate has to return the supply rate per block and the function supplyRatePerBlock in CToken directly returns the value of getSupplyRate. However, the rate per year is returned for NoteInterest...

6.9AI score
SaveExploits0
Total number of security vulnerabilities5000