Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
added 2022/11/21 12:0 a.m.14 views

Upgraded Q -> M from #307 [1669043813221]

Judge has assessed an item in Issue 307 as M risk. The relevant finding follows: L-1. Wrong comparison sign Description The function swapAVAXForExactTokens will revert when msg.value amountsIn0 because amountsIn0 - msg.value will always cause underflow. Solidity version ^0.8.0 is used, so it will...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/18 12:0 a.m.14 views

Users can block other users from redeeming their ETH in Vaults

Lines of code Vulnerability details The burnLPToken of a protected vault allow users to burn LP tokens in exchange of ETH or dETH. In the case of ETH, ie when the BLS key has not had its derivatives minted yet, the function checks the liquidity is not fresh by checking...

6.6AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/18 12:0 a.m.14 views

Single-step process for critical ownership transfer/renounce is risky

Lines of code Vulnerability details Single-step process for critical ownership transfer/renounce is risky Impact The following contracts and functions, allow owners to interact with core functions such as: execute, rawExecute and setApproval in OwnableSmartWallet registerKnotsToSyndicate,...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/18 12:0 a.m.14 views

bringUnusedETHBackIntoGiantPool in GiantMevAndFeesPool can be used to steal LPTokens

Lines of code Vulnerability details Impact real LPTokens can be transferred out of GiantMevAndFeesPool through fake stakingFundsVaults provided by an attacker. Proof of Concept bringUnusedETHBackIntoGiantPool takes in stakingFundsVaults, oldLPTokens, newLPTokens and rotate amounts from old to new...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/14 12:0 a.m.14 views

Exchange's _returnDust() does not validate return value of call() to send excess ETH to sender.

Lines of code Vulnerability details Impact When a caller to Exchange's execute or bulkExecute includes more ETH than is required to complete the transactions, returnDust is intended to return this excess back to the caller. However, returnDust does not validate that the call it performs to return...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/14 12:0 a.m.14 views

Upgraded Q -> M from #449 [1668465467675]

Judge has assessed an item in Issue 449 as M risk. The relevant finding follows: FlashLoanFee should be bounded | Low | 1 --- The text was updated successfully, but these errors were encountered: All reactions...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/13 12:0 a.m.14 views

Seller can steal ETH which is for other orders of the bulk

Lines of code Vulnerability details Impact The 'bulkExecute' and 'returnDust' functions are susceptible to reentrancy attack. Seller can exploit it to steal ETH which is for other orders of the bulk. Proof of Concept Key steps for successful attack 1 set fee rate to 100% 2 reentrancy call...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/13 12:0 a.m.14 views

Public to all funds escape

Lines of code Vulnerability details Description The LooksRareAggregator smart contract implements a bunch of functions to escape funds by the contract owner see rescueETH, rescueERC20, rescueERC721, and rescueERC1155. In this way, any funds that were accidentally sent to the contract or were lock...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/13 12:0 a.m.14 views

ETH amount that is trapped in LooksRareAggregator contract can be withdrawn by user who is not LooksRareAggregator's owner

Lines of code Vulnerability details Impact When ETH amount is trapped in the LooksRareAggregator contract, such as when someone accidentally sends some ETH to it, the owner of the LooksRareAggregator contract has the privilege to call the rescueETH function to transfer such amount to a proper...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/13 12:0 a.m.14 views

internalCall modifier can be circumvented with execute / bulkExecute

Lines of code Vulnerability details Impact The internalCall modifier ensures that public functions can only be called from another public function and not directly. It is implemented like that: modifier internalCall requireisInternal, "This function should not be called directly"; ; The modifier...

7.2AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/13 12:0 a.m.14 views

No Revert on Failure, an order can be execute successfully by disguising them as NFTs.

Lines of code Vulnerability details Impact ERC20 tokens don't throw a error when failed in transfer. A malicious user can pretend to be sending an ERC721 token while it is something else. Orders are getting executed inside LooksRareProxy.sol, an attacker as a maker can make an BasicOrder that has...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/10 12:0 a.m.14 views

Use of .transfer()

Lines of code Vulnerability details Impact Note: I realize that this was flagged in the C4udit output, though it seems to believe that it's an ERC20 transfer. The use of transfer to send ETH only forwards 2300 gas to the recipient. This is not enough gas to execute a gnosis safe delegatecall. Fun...

7.2AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/10 12:0 a.m.14 views

Potential DoS when closing a credit nominated in ETH in the LineOfCredit contract

Lines of code Vulnerability details When closing a credit that was issued in ETH, the LineOfCredit contract will send the lender his deposit and any accrued interests using the address.transferamount function, which may fail and revert the whole function, leading to an eventual DoS. Impact The...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/10 12:0 a.m.14 views

Borrower can mark his line of credit as repaid by calling line.close(fakeId) repeatedly

Lines of code Vulnerability details Description This vulnerability can be summarized in the following 4 observations: 1. There are no checks to prevent calling line.close with id that doesn’t correspond to any open position. 2. The effect of calling line.close with a fake position id is...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/09 12:0 a.m.14 views

L1ERC20Bridge does not have an emergency stop mechanism to pause the bridge in case of any problems found.

Lines of code Vulnerability details Impact Right now, L1ERC20Bridge implements nonReentrant and access control mechanism to improve security. However, there is not any emergency stop mechanism that can be triggered by an authorized account to pause the bridge in case of some problems. It is highl...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/08 12:0 a.m.14 views

Refinalization with theft of funds from other auctions

Lines of code Vulnerability details Vulnerability details Description There is a finalize function in the SizeSealed smart contract. The function traverses the array of the bids sorted by price descending. There is a prevention of the refinalization by the modifier atStateidToAuctionauctionId,...

6.6AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/08 12:0 a.m.14 views

Solmate's safeTransfer function does not check the existence of the contract

Lines of code Vulnerability details Impact Miscalculation of transferred funds and finally, loss of funds Proof of Concept Solmate's safeTransfer and safeTransferFrom functions do not check the ext code size of the address of the recipient and so, it may lead to a miscalculation of funds as it...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/08 12:0 a.m.14 views

Use of abi.encodePacked on SizeSealed.computeMessage can cause auctions to never finalize

Lines of code Vulnerability details Impact The usage of abi.encodePacked on the SizeSealed.computeMessage function might cause an incorrect packing of baseAmount and the random salt for some specific combinations of bid/salt, which will cause SizeSealed.finalize to always revert with...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/08 12:0 a.m.14 views

Auction can be DoS-ed with too many bids

Lines of code Vulnerability details Proof of Concept The bid functionality pushes every new bid to the a.bids array. On finalize this array is looped over. Now, if there are too many bids in it, the for loop gas consumption will go over the block gas limit, which is 30M gas units currently. The...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/08 12:0 a.m.14 views

A bidder can buy baseToken with low price by exploiting the DOS prevention measure

Lines of code Vulnerability details Impact In order to prevent DOS attacks, the smart contract introduces a measure that limits the number of bids on an auction SizeSealed.solL157-L159. However, an attacker/bidder can exploit this measure to block others to place bids so that the attacker can buy...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/08 12:0 a.m.14 views

[PNM-002] finalize with malicious input may lock bidder funds in the contract

Lines of code Vulnerability details Description The finalize function of the contract SizeSealed is used to finalize an auction, allowing the auctioner or seller to be paid quote tokens and also eventually allowing successful bidders to withdraw base tokens. Once the finalize function is called,...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/11/08 12:0 a.m.14 views

Attacker can take all the winnings and fill up the bids and cause loss of funds or dos

Lines of code Vulnerability details Impact Attacker can fill up all the bids and steal and be the winner and cause a dos and then withdraw/refund the funds since when doing a refund the bid isn't taken off the array an attacker can make 1000 bids and cause dos and have 100 percent chance of winni...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/30 12:0 a.m.14 views

Owner can drain pledged tokens balance with recoverERC20 function

Lines of code Vulnerability details Impact The recoverERC20 function allows the owner to withdraw the ERC20 tokens sent by acceident to the contract but it doesn't allow him to withdraw pldged tokens, the owner though could use the removeRewardToken function to remove a token used currently in a...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/30 12:0 a.m.14 views

Approve front-running attack in DBR.sol

Lines of code Vulnerability details Impact An attacker could front-run an approve transaction to get an overall bigger amount approved. Proof of Concept This is the approve function of the DBR token. function approveaddress spender, uint256 amount public virtual returns bool...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/29 12:0 a.m.14 views

rewardAmount and totalRewardAmount break 18 decimals logic by / UNIT

Lines of code Vulnerability details Impact This leads to wrong calculation in rewardAmount for users who will only receive their rewards 18 times less than the actual amount due to / UINT feeAmount are also affected which leads to loss for the protocol Proof of Concept Tools Used Manual Recommend...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/25 12:0 a.m.14 views

Pseudo randomness is not recommended

Lines of code Vulnerability details Impact Use of pseudo randomness in chain is not recommended as it can be predicted by anyone, this can affect value in case of minting or withdrawing in some scenarios Proof of Concept Tools Used Recommended Mitigation Steps Use oracles --- The text was updated...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/25 12:0 a.m.14 views

Adversary can cause malicious slashing of operators by creating malicous token and setting gas limit above chain block gas limit

Lines of code Vulnerability details Impact Operators maliciously slashed Proof of Concept A user can create a malicious token that when called by anyone other than themselves and the bridge use an extreme amount of gas. They create a bridge request with a gas limit higher than the block limit. If...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/25 12:0 a.m.14 views

Pod can (likely) be chosen by miner

Lines of code Vulnerability details Impact The miner can chose pod with high probability. Proof of Concept The random number generation can be easily influenced by the miner by setting block.timestamp to within an acceptable value ranging some 10-15 consecutive values seconds. Since this is hashe...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/25 12:0 a.m.14 views

Adversary can cause malicious slashing of operators by setting gas price low

Lines of code Vulnerability details Impact Operators are maliciously slashed Proof of Concept The gas price and limit can be set to whatever the user wishes when calling the bridge. A malicious user could set the gas prices to be low for current chain conditions. This would allow them to use up t...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/25 12:0 a.m.14 views

it is possible to front run the deployHolographableContract and alter the configuration

Lines of code Vulnerability details deployHolographableContract uses abi.encodePacked to encode configuration data and make the hash . thats while when using abi.encodePacked instead of abi.encode with dynamic types may result in some issues...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/25 12:0 a.m.14 views

Users could accidentally burn() and lose fund

Lines of code Vulnerability details Impact If users accidentally burn the token, the fund will be lost. There does not seem any reason for the users to call the public burn function, only by mistake calling the method to lose self fund. Proof of Concept // contracts/enforcer/HolographERC721.sol...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/25 12:0 a.m.14 views

MED: isOwner / onlyOwner checks can be bypassed by attacker in ERC721/ERC20 implementations

Lines of code Vulnerability details Description ERC20H and ERC721H are base contracts for NFTs / coins to inherit from. They supply the modifier onlyOwner and function isOwner which are used in the implementations for access control. However, there are several functions which when using these the...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/25 12:0 a.m.14 views

Missing support of non-standart ERC20

Lines of code Vulnerability details Vulnerability details Description In functions of PA1D and HolographOperator contracts there is logic relying on the fact that tokens implemented ERC20 standard especially, that transfer and transferFrom functions of the tokens returns bool result. But in...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/25 12:0 a.m.14 views

Insufficient validation in enforcer's OnERC20Received() callback may lead to loss of funds in implementations.

Lines of code Vulnerability details Description HolographERC20's onERC20Received is presumably a callback that is called when the Holographer receives tokens. Its implementation is: if isEventRegisteredHolographERC20Event.beforeOnERC20Received requireSourceERC20.beforeOnERC20Receivedaccount,...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/25 12:0 a.m.14 views

_payoutToken[s]() is not compatible with ERC20-tokens which revert on zero value transfer

Lines of code Vulnerability details Impact Payout is blocked. Proof of Concept PA1D.payoutToken and PA1D.payoutTokens call ERC20.transfer to send tokens to a list of payout recipients. Some tokens e.g. LEND revert when transferring a zero value amount. If one of the recipients is to receive a zer...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/24 12:0 a.m.14 views

Duplicated / Split H -> H from 625 [1666621826143]

Judge has assessed an item in Issue 625 as High risk. The relevant finding follows: Lines of code Vulnerability details storage used in VoteEscrow, modifying data it shouldn't, and vice versa In both the functions delegate and removeDelegation and removeElement, a storage var is used, causing to...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/23 12:0 a.m.14 views

Anyone can steal all the non-fee balance in LBPair.sol

Lines of code Vulnerability details Proof of concept When a user wants to execute a directswap tx, the way to check the tokens that he put in for the swap is by this code uint256 amountIn = swapForY ? tokenX.receivedpair.reserveX, pair.feesX.total : tokenY.receivedpair.reserveY, pair.feesY.total;...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/23 12:0 a.m.14 views

Deactivated tiers can still mint reserve tokens, even if no non-reserve tokens were minted.

Lines of code Vulnerability details Description Tiers in Juicebox can be deactivated using the adjustTiers function. It makes sense that reserve tokens may be minted in deactivated tiers, in order to be consistent with already minted tokens. However, the code allows the first reserve token to be...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/15 12:0 a.m.14 views

Upgraded Q -> M from 220 [1665830289014]

Judge has assessed an item in Issue 220 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/10/12 12:0 a.m.14 views

USE SAFEERC20 (SAFEAPPROVE/SAFEMINT/SAFETRANSFERFROM) INSTEAD OF APPROVE/MINT/TRANSFER FROM

Lines of code Vulnerability details Impact The classic openzepplin implementation of the ERC20 standard ie. functions : Approve, Transfer, TransferFrom and mint does not capture the fact that some ERC20 token do not return a boolean value eg. BNB, USDT, OMG. As results, these functions won't work...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/12 12:0 a.m.14 views

# ERC20 transfer / transferFrom with not checked return value

Lines of code Vulnerability details ERC20 transferFrom with not checked return value Impact Not every ERC20 token follows OpenZeppelin's recommendation. It's possible inside ERC20 standard that a transferFrom doesn't revert upon failure but returns false. Proof of Concept ERC20 transferFrom...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/10 12:0 a.m.14 views

Reentrancy

Lines of code Vulnerability details Reentrancy in BlurExchange.executeInput,Input contracts/BlurExchange.sol128-175: External calls: - executeFundsTransfersell.order.trader,buy.order.trader,sell.order.paymentToken,sell.order.fees,price contracts/BlurExchange.sol147-153 -...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/10 12:0 a.m.14 views

Critical matching policy logic is unenforced

Lines of code Vulnerability details Impact Malicious order matching. Proof of Concept When being executed two orders are matched using custom matching policies. Certain checks are critical for every order matching. Currently these checks would have to be implemented in the matching policies...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/10 12:0 a.m.14 views

revokeApproval() only work with WETH

Lines of code Vulnerability details Impact User can invoke execute successfully even if revokedApprovalmsg.sender == true Proof of Concept If buyer did invoke revokeApproval it only block matching the orders if paymentToken == WETH but if the paymentToken == address0 the buyer could invoke execut...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/10 12:0 a.m.14 views

execute does not work for ERC1155 tokens orders where amount > 1

Lines of code Vulnerability details Impact StandardPolicyERC1155 functions canMatchMakerBid and canMatchMakerBid always return amount == 1, regardless of the function arguments. This means that calling execute on an agreed order of ERC1155 token with an amount 1 will always transfer amount == 1 o...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/10 12:0 a.m.14 views

Transfer reminder of msg.value is bad practice

Lines of code Vulnerability details Impact Transfer reminder of msg.value is bad practice. Can lead to out of gas, reentrancy and so on. Proof of Concept Tools Used Static analytics Recommended Mitigation Steps Can create method getReminder and user to call to get all reminders for him. --- The...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/09 12:0 a.m.14 views

Failed callhook will freeze user funds permanently

Lines of code Vulnerability details Impact If the call hook fails while finalizing the Inbound transfer, user funds will be locked forever with no way to retrieve. This could cause huge fund loss for users moving fund from L1 to L2 Proof of Concept 1. User A makes a transfer from L1 to L2 using...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/09 12:0 a.m.15 views

Unchecked transfer/transferFrom return can lead to protocol lose of funds

Lines of code Vulnerability details Impact It is good to add a require statement that checks the return value of token transfers or to use something like OpenZeppelin's safeTransfer/safeTransferFrom unless one is sure the given token reverts in case of a failure. Failure to do so will cause silen...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/03 12:0 a.m.14 views

Upgraded Q -> M from 657 [1664812795523]

Judge has assessed an item in Issue 657 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/09/30 12:0 a.m.14 views

Unprotected address(this) checks allow attacker to delegatecall from another contract to spoof values such as the token balances of AlgebraPool instances

Lines of code Vulnerability details Description: AlgebraPool token balance checks are intended to exclusively read the token balances of the AlgebraPool instance. However, it is possible for an attacker to make a delegatecall into one of the methods reading the token balance, overriding the...

6.8AI score
SaveExploits0
Total number of security vulnerabilities5000