Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
β€’added 2022/10/25 12:0 a.m.β€’11 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
Exploits0
Code423n4
Code423n4
β€’added 2022/10/25 12:0 a.m.β€’11 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
Exploits0
Code423n4
Code423n4
β€’added 2022/10/25 12:0 a.m.β€’11 views

Any user asset sent through the bridge can be frozen in limbo by a malicious operator.

Lines of code Vulnerability details Operator can fail transactions causing user to lose their send asset, due to incorrect gas check calculation. Line 416 in Operator. If gasleft = gasLimit + small amount, gas reaching nonRevertingBridgeCall will be 63/64 of casleft - CALL opcode code, which is...

7.1AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/25 12:0 a.m.β€’11 views

Primary operator can unbond to avoid slashing and DOS job execution

Lines of code Vulnerability details If a primary operator fails to call HolographOperator.executeJob on time, a secondary operator can make the call, which will result in slashing the primary operator, as described in the documentation. The primary operator that failed to do the job, is slashed t...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/23 12:0 a.m.β€’11 views

Future tier can be removed

Lines of code Vulnerability details Impact A newly created tier can be marked as removed right after it was added if this tier's ID was mistakenly removed earlier. Proof of Concept The recordRemoveTierIds function doesn't check whether a tier ID exists or not JBTiered721DelegateStore.solL890:...

6.7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/23 12:0 a.m.β€’11 views

Volatility update bypassed with small transactions

Lines of code Vulnerability details Impact Volatility, and by extension the fee rate increase due to volatility can be circumvented by starting swaps with a token amount. The volatility is accumulated only at specific intervals, similar to the cumulative number of bins crossed. This is an issue...

6.7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/23 12:0 a.m.β€’11 views

Beneficiary credit balance can unwillingly be used to mint low tier NFT

Lines of code Vulnerability details Impact In the function processPayment, it will use provided JBDidPayData from JBPaymentTerminal to mint to the beneficiary. The value from JBDidPayData will be sum up with previous credits balance of beneficiary. There are 2 cases that beneficiary credit balanc...

6.7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/23 12:0 a.m.β€’11 views

Uninitialized local variable uint256 _i

Lines of code Vulnerability details Impact Uninitialized local variable uint256 i is a variable that was declared inside a function but it was not assigned a value. It contains default value for that data type. Using an uninitialized variable in an expression may give unexpected results or cause...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/22 12:0 a.m.β€’11 views

launchProjectFor() does not check the address of _owner

Lines of code Vulnerability details Impact launchproject can be launchProject in launchProjectFor, but the entire process does not check the validity of owner, not even JBController.sol. This will enable owner to be specified as address0. This will enable projects to be created without an owner,...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/21 12:0 a.m.β€’11 views

Upgraded Q -> M from 873 [1666362235337]

Judge has assessed an item in Issue 873 as Medium risk. The relevant finding follows: Avoid payableaddress.transfer GolomTraderpayEther uses payableaddress.transfer to send native ETH. It's considered a best practice to avoid this pattern for ETH transfers, since it forwards a fixed gas stipend...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/21 12:0 a.m.β€’11 views

Upgraded Q -> M from 94 [1666365598508]

Judge has assessed an item in Issue 94 as Medium risk. The relevant finding follows: L-04 payEther should use .call instead of .transfer Use of .transfer is no longer encouraged, as it may fail if the receiver has any logic in their receive function, due to the 2300 gas consumption limit. --- The...

6.9AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/21 12:0 a.m.β€’11 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
Exploits0
Code423n4
Code423n4
β€’added 2022/10/20 12:0 a.m.β€’11 views

Owner can set lockUntil to a very large timestamp to create not-removeable tier and not-pause-able tier

Lines of code Vulnerability details Impact Owner can set lockUntil to a very large timestamp to create not-removeable tier. when a tier is created, the owner can set lockUntil parameter @member lockedUntil The time up to which this tier cannot be removed or paused. when the owner call adjustTier,...

6.7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/20 12:0 a.m.β€’11 views

The tier setting parameter are unsafely downcasted from type uint256 to type uint80 / uint48 / uint40 / uint16

Lines of code Vulnerability details Impact The tier setting parameter are unsafely downcasted from uint256 to uint80 / uint48 / uint16 the tier is setted by owner is crucial because the parameter affect how nft is minted. the the callstack is JBTiered721Delegate.solinitialize - StorerecordAddTier...

6.7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/20 12:0 a.m.β€’11 views

Uninitialized Storage Variables

Lines of code github.com/jbx-protocol/juice-nft-rewards/blob/f9893b1497098241dd3a664956d8016ff0d0efd0/contracts/JBTiered721DelegateStore.solL344 github.com/jbx-protocol/juice-nft-rewards/blob/f9893b1497098241dd3a6649568016ff0d0efd0/contracts/JBTiered721DelegateStore.solL1024 Vulnerability details...

7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/14 12:0 a.m.β€’11 views

Upgraded Q -> M from 160 [1665775526819]

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

7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/12 12:0 a.m.β€’11 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
Exploits0
Code423n4
Code423n4
β€’added 2022/10/12 12:0 a.m.β€’11 views

Dont check return type

Lines of code Vulnerability details Impact Dont check return type Proof of Concept Tools Used Static analytics Recommended Mitigation Steps Add suitable checks --- The text was updated successfully, but these errors were encountered: πŸ‘Ž 1 trust1995 reacted with thumbs down emoji All reactions πŸ‘Ž 1...

6.9AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/12 12:0 a.m.β€’11 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
Exploits0
Code423n4
Code423n4
β€’added 2022/10/12 12:0 a.m.β€’11 views

Use OpenZeppelin's safeTransferFrom instead of transferFrom when transferring ERC20 tokens

Lines of code Vulnerability details Impact In this case, since GRT token is used, the current implementation of GRT does have a return value for transferFrom and reverts on failure, but the same cannot be said for many other ERC20 tokens in the wild. OpenZeppelin recommends to always use...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/12 12:0 a.m.β€’11 views

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

Lines of code Vulnerability details Impact The modifier ifAdmin 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 transaction...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/11 12:0 a.m.β€’11 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
Exploits0
Code423n4
Code423n4
β€’added 2022/10/10 12:0 a.m.β€’11 views

Underhanded meaning of expirationTime == 0

Lines of code Vulnerability details Impact The pwner of BlurExchange can reject the rigor of code and fulfill the ambiguity of human expression, forcing a reinterpretation of expirationTime == 0 to "no expiration time at all". Unexpirable orders in the vicissitudes of the crypto markets do not...

7.4AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/10 12:0 a.m.β€’11 views

ExecutionDelegate can approve arbitrary calling contract

Lines of code Vulnerability details Impact Owner can steal users' funds and tokens. Proof of Concept The owner of ExecutionDelegate can approve any contract to call it, e.g. a malicious contract which can then drain all funds and tokens approved by users to ExecutionDelegate. Users should only...

6.9AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/10 12:0 a.m.β€’11 views

ERC1155's Amount Parameter Manipulation To Steal Buyers' Funds

Lines of code Vulnerability details Vulnerability Details We discovered that a rogue seller i.e., attacker can place an order for selling N amount where N 1 of a specific token id of an ERC-1155 NFT collection. However, when the sell order is fulfilled by a buyer, the attacker would spend only 1...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/10/03 12:0 a.m.β€’11 views

Upgraded Q -> M from 657 [1664812813577]

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
Exploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:0 a.m.β€’11 views

ArtGobblers.mintLegendaryGobbler() doesn't delete getApproved[id] for burned tokens.

Lines of code Vulnerability details Impact When a gobbler is burned for a legendary gobbler, both owner and getApproved should be deleted. But getApproved isn't deleted now so users can revive the gobbler again. Proof of Concept Users can set getApprovedid for the owned NFTs. File:...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:0 a.m.β€’11 views

The users can steal the Gobbler from the team

Lines of code Vulnerability details Impact In case mintReservedGobblers start minting let's say 20 for team + 20 for community And the loop on batchMint is now i == 3 Now Alice will invoke mintFromGoo to mint one Gobbler he will steal this Gobbler from the team address Proof of Concept Let’s say...

6.9AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:0 a.m.β€’11 views

Chainlink requests may fail if LINK balance is too low. Reveal feature halted. The unfair disadvantage for holders with unrevealed Gobblers

Lines of code Vulnerability details Impact Chainlink requests may fail if LINK balance is too low. Reveal feature halted. The unfair disadvantage for holders with unrevealed Gobblers Proof of Concept Chainlink VRF V1 oracle works only if the caller has LINK balance high enough to pay the fees. If...

6.7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:0 a.m.β€’11 views

VRF v1 is depreciated but v2 has different interface

Lines of code Vulnerability details Impact Since VRF v2 is replacing v1, v1 interface might be unavailable some day in the future. Since the v2 interface is different, at that time, the functions depend on VRF v1 will not work. The protocol will not operate due to denial of service. Proof of...

6.6AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:0 a.m.β€’11 views

Dutch auction on-chain might work as expected

Lines of code Vulnerability details Impact Dutch auction on-chain for Page and Gobbler might work as expected. Bidders could spontaneously form some group to take advantage of the rule. The protocol will receive much less fund from auctions, effectively the auction funds being stolen. Proof of...

6.7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:0 a.m.β€’11 views

ArtGobblers contract wouldn't receive a random seed forever by a malicious user.

Lines of code Vulnerability details Impact ArtGobblers contract wouldn't receive a random seed forever by a malicious user. Currently it can't execute revealGobblers and upgradeRandProvider when gobblerRevealsData.waitingForSeed == true. So if the contract fails to receive the random seed after...

6.9AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:0 a.m.β€’11 views

Upgraded Q -> M from 346 [1664289750538]

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

7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:0 a.m.β€’11 views

Some real-world NFT tokens may support both ERC721 and ERC1155 standards, which may break gobble ()

Lines of code 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 --- The...

7.1AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:0 a.m.β€’11 views

DOS for collections displaying is possible

Lines of code Vulnerability details The ability to add any number of any NFT to a collection allows for the griefing attack on any collections UI. Bob the attacker can create bogus NFT, with an enormous number of ids and gobble all of them, making getCopiesOfArtGobbledByGobbler mapping huge. Bob'...

6.9AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:0 a.m.β€’11 views

Possible centralization issue around RandProvider

Lines of code Vulnerability details Impact While it is very common for web3 projects to have privileged functions that can only be called by an admin address, special thought should be given to functions that can break core functionality of a project. One such function is...

6.6AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/25 12:0 a.m.β€’11 views

[NAZ-H1] syncRewards() Can be Front-Run With A Flashloan To Force lastRewardAmount To Equal Zero

Lines of code Vulnerability details Impact A malicious user can front run syncRewards with a flashloan attack to cause lastRewardAmount to equal zero. With this users will lose on rewards until the next rewardsCycleEnd. Proof of Concept 1. Alice calls deposit with 1000 tokens storedTotalAssets =...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/25 12:0 a.m.β€’11 views

Recovererc20 uses transfer -> token transfers do not verify that the tokens were successfully transferred (safeTransfer)

Lines of code Vulnerability details Impact Some tokens do not revert the transaction when the transfer function fails or return false. Which requires us to check the return value after calling the transfer function. Given that recoverERC20 can accept any tokens. A token such as ZRX would not reve...

7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/25 12:0 a.m.β€’11 views

High privilege of setWithholdRatio function

Lines of code Vulnerability details Impact With the setWithholdRatio function, most of the funds can be authorized to be confiscated, such authority is too high and can confuse users, If this authority is to be used for commission deduction, it should be clearly stated. Proof of Concept /// @noti...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/25 12:0 a.m.β€’11 views

depositEther function DoS with locking funds

Lines of code Vulnerability details Description There is a depositEther function in frxETHMinter contract. The function performs multiple deposits to the depositContract. More detailed, the contract calculates the amount of ether that was submitted to it, and everything, except withheld amount, i...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:0 a.m.β€’11 views

VariableSupplyERC20Token cannot be deployed due to wrong access control

Lines of code Vulnerability details Impact VariableSupplyERC20Token contract cannot be deployed resulting in not functioning contract. Proof of Concept mint function is called in the constructor of VariableSupplyERC20Token contract. constructorstring memory name, string memory symbol, uint256...

6.9AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:0 a.m.β€’11 views

Potential Impossibility in Creating claims Batch

Lines of code Vulnerability details Overview The createClaimsBatch function of the VTVLVesting contract allows for creation of claims in batch with an unbounded amount of actions. Specifically, the function does not impose a hard cap on the number of elements in the arrays passed as parameters...

7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:0 a.m.β€’11 views

VariableSupplyERC20Token bypass max supply

Lines of code Vulnerability details Impact When minting the tokens in VariableSupplyERC20Token the mintableSupply is reduced, thus you can bypass the max supply limit once it hits 0 because 0 means unlimited. As far as I understand, the total supply should never reach the cap set in the construct...

6.9AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:0 a.m.β€’11 views

User will lose rewards

Lines of code Vulnerability details Impact User will lose there rewards even when vesting period has completed. Also the reward will get stuck in the contract with no one able to retrieve them Proof of Concept 1. Admin creates a new claim using createClaim function function createClaim address...

6.7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:0 a.m.β€’11 views

Vesting revoke will disallow receiver from receiving already unlocked tokens

Lines of code Vulnerability details Impact Unfair loss of tokens for the receiver. Proof of Concept Vesting is used by employers to align incentives in startups and prevent employees from leaving the company if they want to get the vested tokens. This is why a revoke function was included. From t...

6.7AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:0 a.m.β€’11 views

Division Before Multiplication Can Lead To Zero

Lines of code Vulnerability details Impact There is a division before multiplication bug that exists in truncatedCurrentVestingDurationSecs calculations Proof of Concept uint40 truncatedCurrentVestingDurationSecs = currentVestingDurationSecs / claim.releaseIntervalSecs claim.releaseIntervalSecs;...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:0 a.m.β€’11 views

No check of vesting completion can break the distribution when the admin withdraws tokens

Lines of code Vulnerability details Impact VTVLVesting.sol has withdrawAdmin function to allow admins to withdraw the unallocated tokens. However, it's not controlled whether the vesting is completed. If an uncontrolled withdraw occurs in a FullPremintERC20Token contract, than it would break the...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:0 a.m.β€’11 views

The bytes allocated to linearVestAmount is too small in the struct VTVLVesting.Claim

Lines of code Vulnerability details Impact In baseVestedAmount of VTVLVesting.sol, when we calculate the vested amount, vestAmt is the sum of cliffAmount and linearVestAmount. linearVestAmount is calculated from the fraction of completed interval as follows. uint112 linearVestAmount =...

6.8AI score
Exploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:0 a.m.β€’11 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
Exploits0
Code423n4
Code423n4
β€’added 2022/09/22 12:0 a.m.β€’11 views

Upgraded Q -> M from 143 [1663859521800]

Judge has assessed an item in Issue 143 as Medium risk. The relevant finding follows: 2.ETHRegistrarController.register can pass any "resolver" and "data" parameters , then ETHRegistrarController do "functionCall " It is possible to pass malicious parameters example : resolver =...

6.9AI score
Exploits0
Total number of security vulnerabilities5000