Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
•added 2022/11/25 12:00 a.m.•16 views

Nonce is not updated after EVM Transaction

Lines of code Vulnerability details Impact It was observed that nonce is not updated while performing the EVM transaction. This could lead to Replay attacks Proof of Concept 1. Observe the CallEVM function func k Keeper CallEVM ctx sdk.Context, from common.Address, to common.Address, amount...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/11/21 12:00 a.m.•16 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/21 12:00 a.m.•16 views

Upgraded Q -> M from #418 [1669043788344]

Judge has assessed an item in Issue 418 as M risk. The relevant finding follows: 1. LBRouter's swapAVAXForExactTokens not working as intended LBRouter's swapAVAXForExactTokens will only work when sending exact msg.value = amountIn0. The functionality which returns excess funds to the user in the...

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

The setupExecution is reentrancy attack vulnerable

Lines of code Vulnerability details Impact The setupExecution can be re-entered by calling bulkExecute inside an execution. Because the global state remainingETH and isInternal are modified reset to 0 and flase after the latter reentrant call, the previous call is affected: 1. all subsequent...

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

#bulkExecute() can reenter to steal funds

Lines of code Vulnerability details Impact ExchangebulkExecute can reenter, and internal execution of delegatecall is allowed to fail, not revert, malicious users can reenter to steal funds Proof of Concept Assumptions: There is a malicious user alice,with NFT for sale, paid through eth If user b...

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

Cross-functional re-entrancy resulting in stealing any additional/extra ether sent by the execute() 's caller

Lines of code Vulnerability details Impact The contract Exchange.sol has execute function which can be called by anyone to execute a single buy and sell order. The function calls execute then returnDust. The latter sends the unrequired ether back to the caller. However, a malicious actor could...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/11/13 12:00 a.m.•16 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:00 a.m.•16 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:00 a.m.•16 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:00 a.m.•16 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/11 12:00 a.m.•16 views

Upgraded Q -> M from #20 [1668209885833]

Judge has assessed an item in Issue 20 as M risk. The relevant finding follows: 2. Ownable and Pausable The contract WardenPledge is Ownable and Pausable, so the owner could resign while the contract is paused, causing a Denial of Service. Owner resignation while the contract is paused should be...

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

Legitimate token / USD pairs with more than 8 decimals are not handled correctly

Lines of code Vulnerability details Impact The decimals returned by the Chainlink oracles are assumed to be 8 throughout this protocol. However, there are legitimate token / USD pairs that have the corresponding Chainlink oracles to return more than 8 decimals; for example, the AMPL / USD pair's...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/11/10 12:00 a.m.•16 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/09 12:00 a.m.•16 views

WHEN EVER CALLING bridgeMint OR bridgeBurn FUNCTIONS NEED TO CHECK THE STATUS OF THE TRANSACTIONS

Lines of code Vulnerability details Impact If not checking the status of the bridgeMint and bridgeBurn functions we don't know the the transactions are success or not. If function breaks any of the reasons we don't what happened and what is the status of the transactions. there is no solutions...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/11/08 12:00 a.m.•16 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:00 a.m.•16 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:00 a.m.•16 views

Front-running of bid calls

Lines of code Vulnerability details Description There is bid function in the SizeSealed contract. The function accepts the auctionId, which does not contain any information about the auction itself. As a result, transactions of users can be front-runned to enforce them bid for the auction with th...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/11/08 12:00 a.m.•16 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:00 a.m.•16 views

Return value of ecMul() not checked in encryptMessage()

Lines of code Vulnerability details Impact ecMul returns 1,1 if failed or with invalid parameters. But encryptMessage does not check for the return value of ecMul. If there is mistake of the private key or public key, the encrypted message will be useless and potentially fail the auction. Proof o...

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

If a market with a collateral that has feedDecimals + tokenDecimals > 36 is added it won’t be functional

Lines of code Vulnerability details Proof of Concept Chainlink price feeds usually have 18 decimals, but this is not guaranteed. Also tokens usually have 18 decimals or less but this is also not the case for 100% of widely used tokens YAM-v2 has 24. So the normal use case is when both the feed an...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/10/30 12:00 a.m.•16 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:00 a.m.•16 views

Pausing WardenPledge contract, which takes effect immediately, by its owner can unexpectedly block pledge creator from calling closePledge or retrievePledgeRewards function

Lines of code Vulnerability details Impact The owner of the WardenPledge contract is able to call the pause function to pause this contract. When the WardenPledge contract is paused, calling the closePledge or retrievePledgeRewards function that uses the whenNotPaused modifier reverts, and the...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/10/30 12:00 a.m.•16 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/30 12:00 a.m.•16 views

Oracle.sol uses deprecated Chainlink method latestAnswer()

Lines of code Vulnerability details Proof of Concept Chainlink has market the latestAnswer method as deprecated for his price feeds, but the code is using it. Impact The latestAnswer method just returns the price and has no way to check if it is stale. If the project is using a stale price it can...

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

MED: Some royalty ETH will be stuck in the Holographer contract forever.

Lines of code Vulnerability details Description PA1D.sol's payoutEth function is responsible for distributing ETH holdings in the Holographer. It uses this code: uint256 gasCost = 23300 length + length; uint256 balance = addressthis.balance; requirebalance - gasCost 10000, "PA1D: Not enough ETH t...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/10/25 12:00 a.m.•16 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:00 a.m.•16 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:00 a.m.•16 views

Royalties cannot be collected for many ERC20 tokens (USDT, BNB and many more) due to use of transfer function.

Lines of code Vulnerability details Description ERC20 royalties are paid using payoutTokens and payoutToken functions in PA1D.sol. Unfortunately these functions use ERC20's transfer instead of implementing safeTransfer: for uint256 i = 0; i length; i++ sending = bpsi balance / 10000;...

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

MED: leak of value when interacting with an ERC721 enforcer contract

Lines of code Vulnerability details Description HolographERC721.sol is an enforcer of the ERC721 standard. In its fallback function, it calls the actual implementation in order to handle additional logic. If Holographer is called with no calldata and some msg.value, the call will reach the receiv...

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

HIGH: Honest operator can lose their bonded amount although gas price was unacceptable during their slot

Lines of code Vulnerability details Description Operators in Holograph do their job by calling executeJob with the bridged in bytes from source chain. If the primary job operator did not execute the job during his allocated block slot, he is punished by taking a single bond amount and transfer it...

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

Risk of reuse of signatures across forks due to lack of chainID validation

Lines of code Vulnerability details Impact In the HolographERC20.sol contract the contract is started with the init function, during which the eip712init function is triggered : contracts/enforcer/HolographERC20.sol: 244: eip712initdomainSeperator, domainVersion; With CACHEDCHAINID = block.chaini...

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

An attacker can lock operator out of the pod by setting gas limit that's higher than the block gas limit of dest chain

Lines of code Vulnerability details When a beaming job is executed, there's a requirement that the gas left would be at least as the gasLimit set by the user. Given that there's no limit on the gasLimit the user can set, a user can set the gasLimit to amount that's higher than the block gas limit...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/10/24 12:00 a.m.•16 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:00 a.m.•16 views

Unused return _launchProjectFor

Lines of code Vulnerability details Impact the function will push the return value on the stack, the caller will then adjust the stack frame accordingly, but won't copy the returned value from the stack into any variable. ignores return value by Proof of Concept The execution of the message call...

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

Upgraded Q -> M from 330 [1666367006171]

Judge has assessed an item in Issue 330 as Medium risk. The relevant finding follows: GolomTrader is not using ERC721 safeTransferFrom when transferring tokens All the functions that fill orders are not using safeTransferFrom when the owner of the NFT transfer the token to the user or contract th...

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

Upgraded Q -> M from 703 [1666368006323]

Judge has assessed an item in Issue 703 as Medium risk. The relevant finding follows: L01: Usage of transfer to send eth It is recommended to use call instead of transfer due to fixed gas stipend. In the GolomTrader, transfer is used to pay ether. --- The text was updated successfully, but these...

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

Upgraded Q -> M from 211 [1665775603120]

Judge has assessed an item in Issue 211 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:00 a.m.•16 views

Governor can rug all GRT by setting the gateway to her wallet (Governor may be hacked)

Lines of code Vulnerability details Impact Governor can rug all GRT by setting the gateway to her wallet Governor may be hacked. Proof of Concept First, the Governor set the gateway contract to her wallet function setGatewayaddress gw external onlyGovernor requiregw != address0, "INVALIDGATEWAY";...

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

If L1GraphTokenGateway's outboundTransfer is called by a contract, the entire msg.value is blackholed, whether the ticket got redeemed or not.

Lines of code Vulnerability details The outboundTransfer function in L1GraphTokenGateway is used to transfer user's Graph tokens to L2. To do that it eventually calls the standard Arbitrum Inbox's createRetryableTicket. The issue is that it passes caller's address in the submissionRefundAddress a...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/10/12 12:00 a.m.•16 views

Set admin emit event with wrong data

Lines of code Vulnerability details Impact emit AdminUpdatedadmin, newAdmin; will emit AdminUpdated with same values. Proof of Concept Tools Used Code analytics Recommended Mitigation Steps store address of admin before --- The text was updated successfully, but these errors were encountered: All...

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

Ignores return value from L1GraphTokenGateway.outboundTransfer

Lines of code Vulnerability details Impact Not tracking values returned by token transfer from. So from was getted from parseOutboundData, and if encoded data is wrong, this can return not expected from address. Then from will passed into transferFrom and it not approve for escrow or allowance is...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/10/10 12:00 a.m.•16 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:00 a.m.•16 views

Passing chain id from outside

Lines of code Vulnerability details Impact Passing chain id from outside. Incorrect chain id can be passed. Proof of Concept Tools Used Static analytics Recommended Mitigation Steps Use assembly to obtain current chain id. --- The text was updated successfully, but these errors were encountered:...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/10/10 12:00 a.m.•16 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/10 12:00 a.m.•16 views

burnFrom

Lines of code github.com/code-423n4/2022-10-thegraph/blob/main/contracts/token/IGraphTokens.solL12 Vulnerability details POC: Function burnFrom does not decrease the allowance, so that is possible for example: Adam to deplete the balance of Bob if Bob allowance to Adam is at least one token by...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/10/09 12:00 a.m.•16 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:00 a.m.•16 views

test

Lines of code http://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...

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

Lack of check for contract existance can cause loss of funds during transfers

Lines of code Vulnerability details Impact The current transfers will not check if the to address is for an existing token contract. This can cause loss of funds if an user attempts to make a swap for a tokens added to a pool and destructed later. Proof of Concept TokenA gets added to a pool The...

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

tickCumulative may be overflow. New timepoints can't be created and the system will be completely broken.

Lines of code Vulnerability details Impact tickCumulative may be overflow. New timepoints can't be created and the system will be completely broken. Proof of Concept Write function call createNewTimepoint. createNewTimepoint increases cumulative value. function createNewTimepoint Timepoint memory...

7.3AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/10/01 12:00 a.m.•16 views

The invalid output amount is not checked while swapping

Lines of code Vulnerability details Impact The invalid output amount is not checked while swapping. If calculateSwapAndLock returns a positive amount for both amount0 and amount1, the user may need to pay both input and output tokens to the pool resulting in the loss of funds. Proof of Concept...

7AI score
SaveExploits0
Total number of security vulnerabilities5000