Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
β€’added 2022/11/28 12:00 a.m.β€’21 views

Incentive fund loss when calling claim() in AutoPxGlp/PxGmxRewards because it calls this.compound(,,true) which would transfer incentive to contract itself and those funds won't be calculated as rewards or fee and won't be accessible to withdraw

Lines of code Vulnerability details Impact Function claim in PxGmxReward contract is used for claiming available pxGMX rewards of a user. but this function calls IAutoPxGlpaddressthis.compound1, 1, true; to harvest new rewards and stake them to compound rewards. but this call is external call and...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/28 12:00 a.m.β€’21 views

Potential mismanaging of the access and roles

Lines of code Vulnerability details Impact In initiateMigration method we are setting migratedTo to an address of the potential migration contract Later on, if completeMigration is called, it basically checks if the provided oldContract is equal to migratedTo when we enter the migrateReward metho...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/28 12:00 a.m.β€’21 views

Use Of block.timestamp Can Result In Attacker Manipulating His/Her Rewards In Their Favour

Lines of code Vulnerability details Impact If an attacker manipulates the block.timestamp in their favor then they can get higher rewards as uint256 rewards = u.rewards + u.lastBalance block.timestamp - u.lastUpdate in this equation lets say the attacker called this just now , and on the next...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/28 12:00 a.m.β€’21 views

Allowance underflow

Lines of code Vulnerability details Impact I think the following check is unnecessary but furthermore, there should be a comparison if the allowance amount allowed is equal or greater than shares amount. Otherwise, we would end up with underflow of the uint value Proof of Concept Tools Used Manua...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/14 12:00 a.m.β€’21 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/13 12:00 a.m.β€’21 views

_returnETHIfAny() can silently fail, leading to an originator not getting the expected refund

Lines of code Vulnerability details The execute function refunds the unused ETH back to the originator through returnETHIfAny. This internal function uses a low-level call to transfer the ETH. The issue is that the return value of the call is not checked. As per the Solidity documentation...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/13 12:00 a.m.β€’21 views

LooksRareProxy is missing the fee mechanism, protocol may loss the revenue from fee

Lines of code Vulnerability details Impact LooksRareProxy is missing the fee mechanism, the protocol may lose revenue from the fee. Even if you intend to have a free fee, the fee mechanism should be implemented in case you need to enforce the fee in the future. Proof of Concept function execute...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/13 12:00 a.m.β€’21 views

The owner of the contract can broke the storage of the LooksRareAggregator contract

Lines of code Vulnerability details Impact The owner of the contract can broke the storage of the LooksRareAggregator contract Proof of Concept The addFunction function - can be called by the owner to to set proxy address and function selector for the function to be called inside this proxy. This...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/11 12:00 a.m.β€’21 views

Upgraded Q -> M from #43 [1668210521611]

Judge has assessed an item in Issue 43 as M risk. The relevant finding follows: Q-02 - Huge trust assumption in recoverErc20 Reward tokens are transferred into this contract when a pledge is created. The comment notes " Recovers ERC2O tokens sent by mistake to the contract", but this function can...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/08 12:00 a.m.β€’21 views

[PNM-001] finalize with malicious input may allow multiple calls leading to fund draining

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.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/08 12:00 a.m.β€’21 views

quoteToken could be fee-on-transfer token

Lines of code Vulnerability details Impact Some ERC20 tokens could have fees for each transfer, they are known as "fee-on-transfer" tokens. While there is a check inside createAuction function that prevents these tokens from being baseToken, FoT tokens still allowed to be quoteToken which could...

6.6AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/08 12:00 a.m.β€’21 views

Denial of service when baseAmount is equal to zero

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. On each iteration, it calculates the quotePerBase. When this variable is calculated, the...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/08 12:00 a.m.β€’21 views

A total of 3 risks: one with imperfect concurrency judgment logic, one with unrobust business logic, and one with unreasonable timestamp settings

Lines of code Vulnerability details RISK 1: When creating an auction, if the exact same token is transferred to the contract in a very short period of time, it will cause one of the auctions to fail to be created. is caused by the following statement: if balanceAfterTransfer - balanceBeforeTransf...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/11/08 12:00 a.m.β€’21 views

seller can change lowestBaseand lowestQuote and the seller can make it diffrent values causing a dos or loss of funds

Lines of code Vulnerability details Impact When I a seller finalizes the auction they change the lowestQuote and lowestBase.When users withdraw from the auction after the auction is finalized. QuoteBought is calculated with the new amounts which can cause dos or refund their leftover quote amount...

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

Front-running of a pledge call

Lines of code Vulnerability details Description There is pledge function in the WardenPledge contract. The function accepts the pledgeId, which does not contain any information about the pledge itself. As a result, transactions of users can be front-runned to enforce them use the pledge with the...

6.6AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/30 12:00 a.m.β€’21 views

Oracle's getPrice() returns the wrong price in certain combinations of oracle feed and token decimals

Lines of code Vulnerability details Impact The oracle's getPrice returns a price that is off by several orders of magnitued depending of the combination of decimals for the Chainlink's pricefeed and underlaying token's pricefeed Actually it based on the decimals set when adding the feed tot he...

6.6AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/30 12:00 a.m.β€’21 views

Wrong reward calculation when reward token's decimals are different than 18

Lines of code Vulnerability details Impact When a user creates a pledge, she can specify the maximum amount of the Total Rewards and the maximum amount of fee amount she is willing to spend. By using the rewardPerVote, the vars.votesDifference and the vars.duration the smart contract calculates...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/29 12:00 a.m.β€’21 views

Interference exploit among multiple pledges.

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. There is no guarantee that each server has only one pledge, when such scenario appears, vars.votesDifference will be calculated incorrectly and all other calculations will be wrong. Proof of Concept...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/25 12:00 a.m.β€’21 views

Reentrance attack to _payoutEth in contract PA1D

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. The payoutEth is subject to the reentrancy attack if one of the addresses is a smart contract and has a receive function to call back payoutEth directly or indirectly. The 2300 gas limit might not preve...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/25 12:00 a.m.β€’21 views

untyped data signing

Lines of code Vulnerability details in function deployHolographableContract the bytes32 hash is directly encoded without adding any domain separator . this will cause several issues an attacker can front run the signature and use them on same contract on another chain . eg a user wants to call...

7.2AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/25 12:00 a.m.β€’21 views

_payoutEth() gas computation can make call revert even if balance is sufficient

Lines of code Vulnerability details Payout recipients can call getEthPayout to transfer the ETH balance of the contract to all payout recipients. This function makes an internal call to payoutEth, which computes the gasCost, then proceeds to check balance - gasCost 10000 before sending the result...

6.5AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/21 12:00 a.m.β€’21 views

Upgraded Q -> M from 696 [1666361742731]

Judge has assessed an item in Issue 696 as Medium risk. The relevant finding follows: L05 - Usage of trasfer over call to send Ether could cause unexpected Reverts payablepayAddress.transferpayAmt; // royalty transfer to royaltyaddress The function payEther sends ether via transfer which passes a...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/21 12:00 a.m.β€’21 views

Upgraded Q -> M from 400 [1666366553858]

Judge has assessed an item in Issue 400 as Medium risk. The relevant finding follows: Use safeTransferFrom instead of transferFrom transferFrom can be replaced with safeTransferFrom as it makes sure that the receiver can handle ERC721 tokens and prevents it from being stuck in the contracts Refer...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/14 12:00 a.m.β€’21 views

Upgraded Q -> M from 221 [1665738683985]

Judge has assessed an item in Issue 221 as Medium risk. The relevant finding follows: L‑01 Don't use payable.transfer/payable.send The use of payable.transfer is heavily frowned upon because it can lead to the locking of funds. The transfer call requires that the recipient is either an EOA accoun...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/12 12:00 a.m.β€’21 views

Using ifAdminOrPendingImpl modifier to forcefully interact with implementation contracts via _fallback() call.

Lines of code Vulnerability details Impact The modifier ifAdminOrPendingImpl allows internal delegation to the implementation contract if caller is not admin by calling the fallback function which delegates the current call to implementation. This allows a user who is not admin to call to make a...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/10 12:00 a.m.β€’21 views

blockRange should have a minimal value

Lines of code Vulnerability details Impact The blockRange doesn't have any minimal value so owner can call the setBlockRange function to change the blockRange value to a lower value which will automaticaly block the matching of some of the orders that have expirationTime == 0. Proof of Concept Th...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/10 12:00 a.m.β€’21 views

_executeTokenTransfer() can silently fail for malicious ERC721 implementations.

Lines of code Vulnerability details Impact execute calls executeTokenTransfer to perform the NFT transfer from seller to buyer. The function assumes correct safeTransferFrom functionality and does not check balances. In case of malicious - or poorly designed pausable ERC721 implementations, this...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/10 12:00 a.m.β€’21 views

StandardPolicyERC1155.sol returns amount == 1 instead of amount == order.amount

Lines of code Vulnerability details Impact The canMatchMakerAsk and canMatchMakerBid functions in StandardPolicyERC1155.sol will only return 1 as the amount instead of the order.amount value. This value is then used in the executeTokenTransfer call during the execution flow and leads to only 1...

7.2AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/08 12:00 a.m.β€’21 views

ERC20 return values not checked

Lines of code Vulnerability details Vulnerability details Some tokens like USDT don't correctly implement the EIP20 standard and their transfer/transferFrom function return void instead of a success boolean. Calling these functions with the correct EIP20 function signatures will always revert...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:00 a.m.β€’21 views

Use safeTransferFrom instead of transferFrom for ERC721 transfers

Lines of code Vulnerability details Impact Any NFTs can be transferred here, there are a few NFTs here’s an example that have logic in the onERC721Received function, which is only triggered in the safeTransferFrom function and not in transferFrom. Tools Used Solidity Visual Developer of VSCode...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:00 a.m.β€’21 views

Gobblers burnt for minting legendary Gobblers can be transferred out from the address zero

Lines of code Vulnerability details Impact The mintLegendaryGobbler function burn standard gobblers by setting their owner to address0 without deleting the getApprovedid. So the original owner can setApproval for himself address and transfer the gobbler token back to any address from the address0...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:00 a.m.β€’21 views

Upgraded Q -> M from 238 [1664280434191]

Judge has assessed an item in Issue 238 as Medium risk. The relevant finding follows: 5. Wrong comparison result when the length is longer than 32 File: contracts\dnssec-oracle\BytesUtils.sol 44: function comparebytes memory self, uint offset, uint len, bytes memory other, uint otheroffset, uint...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/25 12:00 a.m.β€’21 views

[M3] It is impossible to recover stucked non complying ERC-20 tokens

Lines of code Vulnerability details Impact Contract frxETHMinter is unable to recover tokens like USDT PoC Tokens that return void on transfer, that is, those who do not follow ERC20 standard will revert when you try to assign the output to a boolean variable. This is the case in you function...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/25 12:00 a.m.β€’21 views

IERC20.transfer doesn't support all ERC20 tokens

Lines of code Vulnerability details Impact IERC20.transfer doesn't support all ERC20 tokens in the function recoverERC20. Proof of Concept In the contract frxETHMinter, the function recoverERC20 is used to recover ERC20 tokens, if someone accidentally sent some of them in the contract. However...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/25 12:00 a.m.β€’21 views

A mistake made by the Minters can result in minting tokens to a wrong address or a zero address.

Lines of code Vulnerability details Impact Tokens can be minted to a wrong address. Proof of Concept The function mintermint is used by the Minters, to mint tokens to the users that successfully used the functions submitAndDeposit, submit and submitAndGive. However there is no check in mintermint...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/24 12:00 a.m.β€’21 views

Use safetransfer/safetransferFrom instead of transfer/transferFrom in ERC20

Lines of code Vulnerability details Impact Its a good to checks the return value of token transfer using safetransfer or safetransferFrom on Openzeppelin to ensure the token revert when transfer failure. Failure to do so will cause silent failures of transfer and affect token accountng in contrac...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:00 a.m.β€’21 views

_releaseIntervalSecs is not validated

Lines of code Vulnerability details Impact VTVLVesting.sol has createClaimUnchecked function to create the claims internally while validating parameters with the users' allocations. However, releaseIntervalSecs is not validated comparing to user's linearVestAmount and startTimestamp endTimestamp...

6.5AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:00 a.m.β€’21 views

createClaim can be circumvented

Lines of code Vulnerability details Impact VTVLVesting.sol has createClaim function for the admins to create claims. However, a malicious admin vector exists inside. The project gives some powerfull access to the admins for some reason as stated on the contest page. And a good intention is to emi...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:00 a.m.β€’21 views

Wrong accounting logic when syncRewards() is called within beforeWithdraw makes withdrawals impossible

Lines of code Vulnerability details Impact sfrxETH.beforeWithdraw first calls the beforeWithdraw of xERC4626, which decrements storedTotalAssets by the given amount. If the timestamp is greater than the rewardsCycleEnd, syncRewards is called. However, the problem is that the assets have not been...

6.6AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:00 a.m.β€’21 views

beforeWithdraw() call syncRewards() results in incorrect nextRewards

Lines of code Vulnerability details Impact beforeWithdraw call syncRewards cause the number of "nextRewards" to be incorrect . if a large amount is withdraw at the end of the cycle, then the next cycle reward will incorrectly increase by the corresponding amount Proof of Concept when call...

6.6AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:00 a.m.β€’21 views

In VTVLVesting._baseVestedAmount(), the funds might be locked inside the contract forever with uint112 overflow.

Lines of code Vulnerability details Impact In VTVLVesting.baseVestedAmount, the funds might be locked inside the contract forever with uint112 overflow. Currently, it doesn't consider uint112 overflow during multiply and it's very likely to happen when the vesting duration is not short like 1 yea...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/19 12:00 a.m.β€’21 views

havent specify the solidity compiler version, 8.15 and older version may lead to a mis encoded struct parameter

Lines of code Vulnerability details Impact the structure: struct ExecuteProposalParams uint256 proposalId; bytes proposalData; bytes progressData; bytes extraData; uint256 flags; IERC721 preciousTokens; uint256 preciousTokenIds; there are some unknown length elementbytes, in 8.15 and older...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/19 12:00 a.m.β€’21 views

Hash result truncation

Lines of code Vulnerability details Description There is function hashFixedGovernanceOpts in Crowdfund contract and function getDistributionHash in TokenDistributor contract. The first one truncates the hash result to 16 bytes, the second to 15 bytes. Impact It is possible to find a collision for...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/19 12:00 a.m.β€’21 views

Griefing attack on the Vaults is possible, withdrawing the winning side stakes

Lines of code Vulnerability details Anyone can withdraw to receiver once the receiver is isApprovedForAllowner, receiver. The funds will be sent to receiver, but it will happen whenever an arbitrary msg.sender wants. The only precondition is the presence of any approvals. This can be easily used ...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/19 12:00 a.m.β€’21 views

Attacker can DOS private party by donating ETH then calling buy

Lines of code Vulnerability details Impact Party is DOS'd and may potentially lose access to NFT Proof of Concept Crowdfund.solL280-L298 party = party = partyFactory .createParty addressthis, Party.PartyOptions name: name, symbol: symbol, governance: PartyGovernance.GovernanceOpts hosts:...

6.6AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/12 12:00 a.m.β€’21 views

There is no time lock mechanism in RariMerkleRedeemer and constructor of RariMerkleRedeemer contract don't check for maximum value for cTokenExchangeRates, if high value have been set by mistake then attacker can withdraw most of baseToken balance of contract immediately

Lines of code Vulnerability details Impact Exchange rates are used to calculate baseToken amounts that are going to be transferred to the user, if exchange rates are set as a very high number by mistake, an attacker can withdraw baseToken balance of the contract. there should be some checks in th...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/12 12:00 a.m.β€’21 views

TribeRedeemer.redeem function can possibly revert when block gas limit is reached

Lines of code Vulnerability details Impact As the following constructor shows, when constructing the TribeRedeemer contract, the number of tokens in tokensReceived that is used to set tokensReceived is not capped. When the redeem function below is called, tokensReceived, which is essentially toke...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/12 12:00 a.m.β€’21 views

Unbounded Loop

Lines of code Vulnerability details 🎨 Category Denial of Service πŸ’₯ Impact If the number of tokensReceived gets too big, the transaction's gas cost could exceed the block gas limit and make it impossible to call previewRedeem at all. πŸ“ Proof of Concept previewRedeem function iterates over all...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/11 12:00 a.m.β€’21 views

Unending and Eventually Futile TRIBE Redemption

Lines of code Vulnerability details Impact TRIBE holders can redeem for pro rata share of remaining DAO controlled assets according to TIP-121 proposal. In the light of this, users would rush into redeeming their TRIBE before the balances of each tokensReceived held on this contract run out...

6.8AI score
SaveExploits0
Total number of security vulnerabilities5000