Lucene search
K
Code423n4Recent

10190 matches found

Code423n4
Code423n4
added 2023/11/15 12:0 a.m.4 views

Failure to Initialize Default Price Feeds Can Cause Unexpected Reverts

Lines of code Vulnerability details Impact The ChainlinkPriceOracle contract does not initialize default price feed mappings for supported assets. This means calling the getAssetPrice function before explicitly setting a feed will result in a revert instead of a defined failure response. Details:...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2023/11/15 12:0 a.m.4 views

Missing pause check in transferAssetToNodeDelegator()

Lines of code Vulnerability details Summary The function transferAssetToNodeDelegator present in the LRTDepositPool contact ignores the contract's pause state. Impact The LRTDepositPool contract contains a functionality to pause the contract in case of an emergency. 208: function pause external...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/15 12:0 a.m.12 views

No way to withdraw from the strategy

Lines of code Vulnerability details Impact NodeDelegator does not have any functions to withdraw the underlying from the strategy. It does have a function to transfer ERC-20 tokens to the LRTDepositPool, assuming the eigen layer strategy mints ERC20 tokens to represent the share of invested funds...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/15 12:0 a.m.32 views

Max deposit limit on assets per deposit on strategy on EigenLayer

Lines of code Vulnerability details Impact Each strategy on EigenLayer has a maxPerDeposit it validates all individual deposits into the concerned strategy against. This is inclusive of the maxTotalDeposits against a strategy. These two upper limits are validated against deposits to the strategy,...

7.2AI score
Exploits0
Code423n4
Code423n4
added 2023/11/15 12:0 a.m.5 views

depositAsset() does not check for slippage

Lines of code Vulnerability details Impact Prices are fetched from Chainlink but it is possible that the prices are stale due to to the fact that it is not checking for the freshness of the price or chainlink could be experiencing a crash event where it would return prices between a minimum and...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/14 12:0 a.m.3 views

Upgraded Q -> 2 from #66 [1699995497317]

Judge has assessed an item in Issue 66 as 2 risk. The relevant finding follows: 1. Low. setAnnualInterestBips will decrease reserveRatio for the next 2 weeks if it was above 90% --- The text was updated successfully, but these errors were encountered: All reactions...

7.2AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.6 views

Artist Royalty Split Proposal Functionality Missing

Lines of code Vulnerability details Impact The protocol's documentation specifies that royalty splits can be proposed by the artist and accepted by the admin. However, the MinterContract does not implement the functionality for artists to propose royalty splits. This inconsistency between the...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.9 views

Adding a randomizer to a collection should be mandatory

Lines of code Vulnerability details Impact The minting process will be broken. Proof of Concept In the current setup, a randomizer contract can be associated with each collection, and it plays a crucial role in generating a random value for token uniqueness during the minting process. Here's a...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.12 views

claimAuction can be reverted by any bidder, locking all funds and the prize.

Lines of code Vulnerability details Description claimAuction is used to redeem the auction's ERC-721 and refund all bidders that didn't win the auction. In this process, callbacks are sent to every single bidder via low-level calls that triggers fallbacks/receives and ERC721.safeTransferFrom. So,...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.6 views

Bidder Can Retrieve Bid Amount Twice in claimAuction

Lines of code Vulnerability details Impact This vulnerability enables a bidder to recover their bid amount twice during the execution of the claimAuction function. Proof of Concept A race condition between the claimAuction and cancelBid functions allows a non-winning bidder to claim their bid...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.7 views

Winner of auction status is not set to false after claim so eligible for refund

Lines of code Vulnerability details Impact Bidders funds will get stuck Proof of Concept After Auction winner claims token, his/her status is not set to false so he is eligible for a refund because the refund logic checks for all indexes with status set to true, which not supposed to be so. So th...

7.2AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.7 views

Bid's array can be overloaded with dust bids to break AuctionDemo funcionality.

Lines of code Vulnerability details Description Bids to the auction can be created using any msg.value via participateToAuction method and are stored in an array within the mapping auctionInfoData. However, all important methods claimAuction, returnHighestBid, returnHighestBidder,...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.7 views

Contract can be drained from the claimAuction contract

Lines of code Vulnerability details Impact Due to the way the claimAuction function is written, it is also possible to drain the contract when sending bids back to users. This can only happen if the highestBidder made multiple bids which is likely. Proof of Concept In this section of the...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.4 views

Users get pay for multiple NFTs and only get 1 minted

Lines of code Vulnerability details Impact Users get only 1 NFT after paying for multiple or more than one Proof of Concept In MinterContract.mint users can mint more than one token and are allowed to pay for the number of tokens minted. function mint uint256 collectionID, uint256 numberOfTokens,...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.5 views

Switching to sales model 3 for a collection with pre-existing supply could brick the ' mint() ' function for that collection.

Lines of code Vulnerability details Impact ' Periodic sales' model cannot be used in a collection with Pre-existing supply because of how timeOfLastMint is calculated in mint function. This prevents the system from flexibly combining different sales models in a single collection as intended by th...

7.4AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.7 views

AuctionDemo opens itself several DoS attack vectors

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. Proof of Concept The auctionDemo.auctionInfoData map holds important info on auctions, and hold this info per tokenId. Needless to say, for many auctions that may become popular and/or long running, the...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.5 views

Last token of maximum supply can be paid, but it isn't minted nor reverted.

Lines of code Vulnerability details Description collectionCirculationSupply is incremented in each mint and it's used to check if the mint don't overtakes the collection's max supply. However, it increments before the check, which makes that although last token is in the max supply range, the...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.11 views

Unchecked constructor arguments can make a contract unworkable

Lines of code Vulnerability details Impact In the NextGenCore contract constructor, there is no check that a valid admin contract is set using NextGenAdmins::isAdminContract. If the contract address in the adminsContract constructor is set incorrectly, it is not possible to call admin functions i...

7.2AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.6 views

Adversary can reenter mint to bypass max allowance.

Lines of code github.com/code-423n4/2023-10-nextgen/blob/main/smart-contracts/NextGenCore.solL189-L200 Vulnerability details Description MinterContract.mint calls NextGenCore.mint, which variables that accounts the amount of tokens each user minted is changed only after mintProcessing, that has a...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.5 views

collection admin can still change delegation Address by calling setCollectionCosts()

Lines of code Vulnerability details Impact Function updateDelegationCollection which update allowlist mint delegation collection prevents collection admin and any other actors from perfoming this except global and Function Admin. However, collection admin can still change delegation Address by...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.10 views

No function to distribute secondary sales royalties split.

Lines of code Vulnerability details Impact The minter contract currently does not have a way to reliably share the secondary sales revenue for the proposed addresses and splits. Proof of Concept Contract : NextGenMinterContract The minter contract uses collectionArtistSecondaryAddresses and...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.8 views

High possibility of DOS

Lines of code Vulnerability details Impact In the claimAuction function there is a high possibility of DOS where the auction winner is unable to claim the NFT due to high gas cost or not enough gas, this is due to the functions having three loops on same array of all bids, they are in the...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.4 views

mint with sales option 3 doesn't work as expected

Lines of code Vulnerability details Summary lastMintDatecol is set to be higher than expected, which can lead to the minting process being blocked for some time. Vulnerability Details In the mint function in the MintContract if the salesOption of the collection is set to 3 then we can only mint 1...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.4 views

Add reentrancy protection in payArtist function

Lines of code Vulnerability details In payArtist function, the potential for reentrancy exists due to the call method being used to transfer Ether. The call method is known to be risky for reentrancy attacks because it hands off control to the called contract, which could be malicious. After the...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.8 views

No Chainlink error handling in case of ethereums gas prices increasing or subscription running out of Link.

Lines of code Vulnerability details Impact Any collections making use of the ChainLink VRF2 randomizer could potentially get 0x0 hashes for their nfts. Due to uint32 public callbackGasLimit = 40000; being hardcoded, any gas fluctuations on Ethereum main net, could potentially not be enough for th...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.8 views

burnToMint and burnOrSwapExternalToMint allows bypass of periodic sales timer.

Lines of code Vulnerability details Description Sales Mode 3 is when the contract allows only one mint per period of time. However, burnToMint and burnOrSwapExternalToMint allows an user to bypass this restriction, since these functions don't have periodic sales check. This can be a problem since...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.5 views

Missing deadline checks

Lines of code Vulnerability details Consider addings implementation to handle the expiration of the transaction for additional security. To implement a transaction expiration mechanism in the emergencyWithdraw add a timestamp check to ensure that the transaction is executed only within a certain...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.7 views

Missing highBid value update returnHighestBidder would return the wrong HighestBidder causing nft to be minted to the wrong winner

Lines of code Vulnerability details Impact returnHighestBidder is used in checking who the winner is, however the code implemented in doing this was flawed as it missed updating highBid variable for the current higest bid found so far before next iteration. Missing this would cost function to...

7.2AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.5 views

Royalty Payment Invariant Violation

Lines of code Vulnerability details Impact The vulnerability in the payment mechanism of the smart contract significantly impacts the protocol's functionality. The root cause of the vulnerability is that, despite the README stating an invariant that "Payments can only be made when royalties are...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.7 views

The Transfer event is emitted successfully in MinterContract#mintAndAuction() even when the transaction has failed, leading to inaccurate accounting in off-chain systems.

Lines of code Vulnerability details Impact The airDropTokens function in the NextGenCore contract is responsible for minting and transferring an NFT to a user, exclusively called by the MinterContract. However, the execution of airDropTokens within MinterContractmintAndAuction prior to critical...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.5 views

The reentrancy vulnerability in NextGenCore can allow an attacker to manipulate minting execution

Lines of code Vulnerability details Impact Function mintProcessing has been used in mint and airDropTokens and both doesn't follow check-effect-interaction pattern and code updates the values of tokensAirdropPerAddress, tokensMintedAllowlistAddress and tokensMintedPerAddress variables after makin...

7.3AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.8 views

Re-enterancy in AuctionDemo contract

Lines of code Vulnerability details Impact claimAuction function of AuctionDemo contract transfers the token to highest bidder winner and the bid amount is transferred to the owner. Moreover, refund is sent to all remaining participants non-winners of the auction via call function. However, if a...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.7 views

Minting nft with Index 0 is not allowed

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. The constructor of the NextGenCore.sol contract includes an increment operation for the newCollectionIndex variable, ensuring that the newCollectionIndex start from 1. While adding or modifying addition...

7.3AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.7 views

cancelBid() and cancelAllBids() functions are incorrectly implemented, resulting in partial/complete DoS-ing of bid cancelling functionality.

Lines of code Vulnerability details Impact cancelBid and cancelAllBids functions are incorrectly implemented, resulting in partial/complete DoS-ing of bid cancelling functionality. bidder could lose funds when they change their mind and want to cancel their bid, imagine they were the top bidder a...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.5 views

When the burnToMint function is enabled, any bad actor can transfer the nft-to-burn when it receives the newly minted nft, getting burned after he no longer is the owner.

Lines of code Vulnerability details Impact Medium impact, it affects the functionallity of the nfts with other contracts, as they wouldn't want to interact with tokens that could get burned. Explanation in the NextGenCore contract, the burnToMint function has the minting of the new nft, which mak...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.6 views

DoS: Auction May Be Made Unusable By An Attacker

Lines of code Vulnerability details Impact When the items of auctionInfoData array is sufficiently high, claimAuction, cancelAllBids, returnHighestBid will all not be able to be called due to the block gas limit rendering all funds locked and auction unusable. auctionInfoData can only ever be add...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.9 views

The absence of sanity checks in the MinterContract#mintAndAuction() function can lead to avoidable error scenarios.

Lines of code Vulnerability details Impact The setCollectionCosts function within the MinterContract is utilized to establish the collection costs and sales model for an upcoming collection sale. As outlined in the documentation, the expectation is that one token can be minted and auctioned durin...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.5 views

Missing Reentry Protection in 'emergencyWithdraw' function

Lines of code Vulnerability details Ensure that all state changes in emergencyWithdraw are done before the external call to prevent reentrancy attacks. The function is vulnerable to reentrancy attacks due to the use of .callvalue: balance"". This can be mitigated by adding a reentrancy guard.- Po...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.9 views

RandomizerNXT allows randomness re-rolling and also front-running.

Lines of code Vulnerability details Description When a collection uses RandomizerNXT as the randomizer, the process of minting and setting the token hash happens in the same transaction and block, which allows two attacks. First, a user can see the randomness outcome in mempool and front-run his...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.10 views

Risk of Permanent ETH Loss for Bidders

Lines of code Vulnerability details Impact There's a risk of ETH becoming irretrievably locked in the contract if a bidder's address is a contract with either complex logic in its receive function or no receive function at all. In such cases, ETH transfers to these addresses could fail and result...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.6 views

AuctionDemo::claimAuction() - L105: Logic bug in the conditional statement where the timestamp check should be > instead of >=.

Lines of code Vulnerability details Impact Would enable the winning bidder/bid to be selected WHILE it's still possible to bid higher in the auction. I.e. current comparison logic makes it possible to select auction winner while the auction isnt over yet. there's the risk of the true/valid highes...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.11 views

Multiple instances of reentrancy

Lines of code Vulnerability details Impact This can lead to massive loss of funds and asset in Nextgen. Proof of Concept There are multiple instances of reentrancy in NextGenCore.sol, MinterContract.sol and AuctionMemo.sol. These reentrancy is due to the use of ERC721 safeMint... for token transf...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.7 views

AuctionDemo::claimAuction() - L105: Logic bug in the conditional statement where the timestamp check should be > instead of >=.

Lines of code Vulnerability details Impact Would enable the winning bidder/bid to be selected WHILE it's still possible to bid higher in the auction. I.e. current comparison logic makes it possible to select auction winner while the auction isnt over yet. there's the risk of the true/valid highes...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.6 views

Owner of the token will not receive the funds of the highest bid after an Auction is claimed

Lines of code Vulnerability details Impact After the auction is completed, the winner or protocol owner must call the claimAuction function. At this point, the token is sent to the auction participant who made the highest bid, and the funds from that bid are sent to the owner of the protocol. And...

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

Missing gas fee limit

Lines of code Vulnerability details The use of .callvalue: balance"" does not limit the gas sent along with the Ether, potentially allowing all gas in the transaction to be used by the receiver. // Set a specific gas limit for the call if applicable uint256 gasLimit = someGasLimit; // Define...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.10 views

Cross-Contract Reentrancy can occur during burnToMint

Lines of code Vulnerability details Impact Cross Contract re-entrancy can occur due to not following CEI Proof of Concept 1. Attacker can call burnToMint, with any of the tokenId he owns! 2. This calls the burnToMint in GenCore, which mints the the new token from the to be minted collection...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2023/11/13 12:0 a.m.7 views

NFT Claiming Issue Due to Lacking Ownership

Lines of code Vulnerability details Impact The vulnerability in the AuctionDemo contract has a significant impact on the ability of auction winners to claim their NFTs. The root cause of the vulnerability is that the AuctionDemo contract fails to check whether it owns or has approval to transfer...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/11 12:0 a.m.10 views

Upgraded Q -> 2 from #385 [1699689442074]

Judge has assessed an item in Issue 385 as 2 risk. The relevant finding follows: L-04 ODSafeManager.allowSAFE function enables any allowed address to add/remove other allowed addresses Details The ODSafeManager.allowSAFE function is meant by design to allow/disallow any address to manage the safe...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/11/10 12:0 a.m.7 views

In _executeSetSignatureValidator, validate data.signatureHash and data.signatureValidator for non-zero values.

Lines of code Vulnerability details M5 - In executeSetSignatureValidator, validate data.signatureHash and data.signatureValidator for non-zero values. poc: solidity function executeSetSignatureValidator internal returns bytes memory nextProgressData requiredata.signatureHash != bytes320, "Signatu...

7.2AI score
Exploits0
Code423n4
Code423n4
added 2023/11/10 12:0 a.m.11 views

PartyGovernanceNFT.burn is not updating the totalVotingPower

Lines of code Vulnerability details Proof of Concept The getSharedProposalStorage.governanceValues.totalVotingPower value defines the voting power cap that can be minted using mint in PartyGovernanceNFT. In a previous version of the protocol 2023-05-party this variable was...

6.9AI score
Exploits0
Total number of security vulnerabilities10190