Lucene search
K
Code423n4Recent

10190 matches found

Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•8 views

The admin is a single point of failure and a centralization risk

Lines of code Vulnerability details Impact Having a single EOA as the only owner of contracts is a large centralization risk and a single point of failure. A single private key may be taken in a hack, or the sole holder of the key may become unable to retrieve the key when necessary. Consider...

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

cancelSig will not completely cancel signatures due to malleability vulnerabilities

Lines of code Vulnerability details Impact The current version of openzeppelin contracts has a high risk of vulnerability about signature malleability attack: OpenZeppelin/openzeppelin-contracts3610. So if the signer only cancel one signature, the malicious proposer can still extend a fully valid...

6.5AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•5 views

Missing Storage Gap in Upgradeable Contract

Lines of code Vulnerability details Impact The current ERC721CheckpointableUpgradeable contract doesn't have any reserved storage gap. However, any logic contract that serves as a foundational contract and is expected to be inherited by other upgradable children should preserve a reasonable amoun...

6.7AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•3 views

Unauthorized Access to Tokens in returnTokensToOwner function.

Lines of code Vulnerability details Impact returnTokensToOwner Function: Attack Surface: This function allows the DAO contract to unescrow tokens and return them to the original owner. The returnTokensToOwner function allows the DAO contract to unescrow tokens by transferring them from the...

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

Malicious whale of forked DAO can prevent smaller token holders from creating proposals

Lines of code Vulnerability details The proposal threshold on a forked DAO can be set all the way up to 1,000 basis points. If this were the case, only whales would be able to make proposals on the forked DAO. Impact The likelihood of this is low, because in order to set the proposalThresholdBps ...

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

Storage collision risk in NounsDAOProxy contracts

Lines of code Vulnerability details Impact NounsDAOProxy contract may lose tracking its implementation address Proof of Concept One of the main vulnerabilities of upgradeable contracts is storing the implementation address in the beginning slots. This address is later used by proxy for delegateca...

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

Admin user has an absolute power to withdraw all contract balance, which may raise red flags for investors

Lines of code Vulnerability details Impact Having rug-pull related code is always considered as a red flag for new investors. An admin, who's a single point of failure has access to withdraw function, which allows to withdraw the whole contract balance. Even if the owner is genuine the rug pull...

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

[M-05] NounsDAOV3DynamicQuorum.quorumVotes(): Wrong totalSupply parameter used to calculated dynamic votes thresholds

Lines of code Vulnerability details Impact and Details It is stated in NounsDAOV3Fork.adjustedTotalSupply that the total supply of nouns exclude those in treasury and escrow contract. In NounsDAOV3Proposals.isDefeated, the dynamic threshold is calculated based on adjustedTotalSupply at the time o...

6.6AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•5 views

delegateTo Function of NounsDAOProxyV2 Contract can execute arbitrary code and modify the storage

Lines of code Vulnerability details Impact The delegateTo function delegates execution to another contract using the delegatecall opcode without performing any input validation or checking the returned success flag, the problem is The delegated contract can execute arbitrary code and modify the...

7.8AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•10 views

Same proposer can make duplicate proposals

Lines of code Vulnerability details Impact A proposer can continuously create new proposals, even if they are redundant or unnecessary. This can overload the system and make it difficult for other participants to navigate through legitimate proposals. Proof of Concept In the propose function, the...

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

returnTokensToOwner() in NounsDAOForkEscrow.sol can revert unexpectedly due to improper subtraction

Lines of code Vulnerability details Impact returnTokensToOwner in NounsDAOForkEscrow.sol can revert unexpectedly because of the numTokensInEscrow -= tokenIds.length; math in its logic. tokenIds is an externally supplied argument and it can be larger than the storage variable numTokensInEscrow...

6.7AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•5 views

Attacker can drain the forked DAO's ERC20s by supplying a list with dupes to quit()

Lines of code Vulnerability details The quit function is used to allow members of the forked DAO to ragequit the dao and receive a pro-rata share of the ERC20 tokens that the DAO holds. One version of this functions allows the user to supply their own list of ERC20 tokens for the function to...

6.6AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•9 views

Fork DAO quit do not filter token duplicates and allows for stealing of the whole ERC20 holdings of its treasury

Lines of code Vulnerability details quit doesn't check erc20TokensToInclude argument for repetitions i.e. token address duplications, only checking the existence of a token in erc20TokensToIncludeInQuit. Each time a token repeats the corresponding share of treasury holdings will be transferred to...

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

Potential for Permanent Lock of Funds in NounsDAOExecutorV2 Contract

Lines of code Vulnerability details Impact The NounsDAOExecutorV2 contract has a potential vulnerability where Ether or ERC20 tokens could become permanently locked in the contract. This could occur if funds are sent to the contract by someone other than the admin, or if the admin loses access to...

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

propose function Can lead to unexpected behavior

Lines of code Vulnerability details Impact Problème in the propose function, specifically in the construction of the targets, values, signatures, and calldatas arrays. These arrays are used to define the transactions that will be executed within the proposal, So the problem arises from the use of...

7.6AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•6 views

The fork mechanism of Nouns DAO may be completely ineffective or abused, because there is no reasonable limit to the maximum or minimum value of the fork threshold.

Lines of code Vulnerability details Impact Nouns Fork is a Last-Resort Minority Protection Mechanism, created to protect the minority from the tyranny of the majority. As described in this article: . In the initial case, if a quorum of 20% of tokens signals to exit, the fork will succeed, but sin...

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

Ex-token holders are still able to cast votes on proposals under certain circumstances

Lines of code Vulnerability details When casting a vote, an address is limited to a certain amount of votes derived from ds.nouns.getPriorVotes. However, due to the nature of ds.nouns.getPriorVotes, the amount of votes available to an address solely depends on the amount of tokens they held when ...

6.6AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•8 views

Execution of incomplete or mismatched actions due to arrays of different lengths

Lines of code Vulnerability details Impact an attacker can pass different-sized arrays for these parameters. For example, if the attacker passes an array of length 3 for targets, but arrays of length 2 for values, signatures, and calldatas, the function will still proceed and store the proposal...

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

Token holders can create as many proposals as they want if they already have an active proposal by transferring their token to another wallet.

Lines of code Vulnerability details The propose function on NounsDAOV3Proposals.sol has a check called checkNoActivePropds, msg.sender, which exists to prevent token holders from spamming the propose function. Furthermore, the proposeOnTimelockV1 function calls propose directly, making it...

6.7AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•4 views

Anyone can cancel a future proposal

Lines of code Vulnerability details Impact Anyone can call NounsDAOLogicV3cancel with a future proposalIdproposalIdds.proposalCount, which would prevent the proposal with that proposalId from gaining votes, getting queued, or getting executed. So adversary can easily prevent any proposal which do...

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

The 'Nouns Fork' is considered unfair towards contributors, given they are not awarded any new tokens.

Lines of code Vulnerability details Impact The 'Nouns Fork' is considered unfair towards contributors, given they are not awarded any new tokens. Proof of Concept The Nouns Fork mechanism allows members of the minority in the Nouns DAO to exit to a new forked Nouns DAO, but the current approach m...

6.7AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•10 views

ABI encodePacked Collision

Lines of code Vulnerability details Impact Collision occurs 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 Do not use more than one dynamic type in...

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

A proposer can initiate several proposals at once through delegations

Lines of code Vulnerability details Impact Within the NounsDAOV3Proposals' propose function, a proposer is only permitted to have one active proposal at a time. Despite this, a proposer has the capability to delegate to various accounts, enabling these accounts to propose on their behalf. Proof o...

6.6AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•8 views

Malicious user may force gas limit error on created proposals

Lines of code Vulnerability details Impact User can create a proposal with arbitrary long array of targets. Function cancel iterates over those targets. Since this array may be long - the risk of out-of-gas error may occur - making the contract to be unable to cancel the proposal as cancel would...

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

ETH might stuck in NounsDAOProxy.sol

Lines of code Vulnerability details Impact NounsDAOProxy.fallback and NounsDAOProxy.receive expect to receive ETH, but the contract and its implementation don't contain a function to withdraw the received ETH as NounsDAOLogicV3.withdraw and NounsDAOLogicV2.withdraw Proof of Concept In...

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

DoS by cancelling newly created proposals

Lines of code Vulnerability details Impact Malicious user can cancel any freshly created proposal, thus making the goverence not usuable to anyone. Whenever new proposal is being created, a malicious actor can cancel it. Proof of Concept Function cancel is external, thus it can be called by anyon...

7.2AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•8 views

The fork escrow voting should use the snapshot mechanism to save whether the current DAO state reaches the fork threshold

Lines of code Vulnerability details Impact The fork escrow vote does not use the snapshot mechanism or checkpoint mechanism to save whether the current DAO state reaches the fork threshold, which may cause the timing of the fork to be missed. Proof of Concept Suppose the following scenario: 1. Wh...

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

Contract can be initialized with arbitrary or non functional address

Lines of code Vulnerability details Impact An attacker can pass invalid addresses to the initialize function, potentially leading to unexpected behavior and security vulnerabilities in the contract Proof of Concept The initialize function is intended to be called only once to initialize the...

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

Unused returns on the ds. _withdraw(), NounsDAOLogicV3._withdraw(), and ds.executeFork()

Lines of code Vulnerability details Impact The return value of the external calls are not stores in a local variable or a state variable Proof of Concept The return values do not store the results in a store local or state variable. As a result, the computation have no effect. Code:...

6.7AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•5 views

The fork mechanism of Nouns lacks a fork cooling-off period/clarification period/remedial period mechanism, which cannot resist someone maliciously inciting the emotions of DAO members and triggering impulsive forks

Lines of code Vulnerability details Impact It's important that forking happen rarely. Once a fork occurs, it cannot be canceled. It is not a good thing for DAO to happen. It is necessary to ensure that DAO members propose a fork after calm deliberation. The current Nouns forking mechanism lacks a...

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

executeTransaction function allows executing a queued transaction.

Lines of code Vulnerability details Impact The executeTransaction function allows executing a queued transaction. It requires the caller to be the admin, verifies the transaction's queue status and time lock, and executes the transaction. The use of target.call this can be exploit it by an attack...

6.8AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•9 views

dynamicQuorumVotes calculation has accuracy error resulting in the less required quorum

Lines of code Vulnerability details Impact dynamicQuorumVotes is divided by totalSupply, multiplied by quorumCoefficient, divided by 1e6 and then multiplied by totalSupply. There are precision errors in division before multiply. For quorumAdjustmentBPS, the division precision error is 1 and...

6.8AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•17 views

Unauthorized Withdrawal of ETH by Admin in _withdraw.

Lines of code Vulnerability details Impact An attacker with admin privileges can maliciously execute the withdraw function, resulting in the unauthorized withdrawal of all the ETH in the contract. Proof of Concept withdrawNounsDAOStorageV3.StorageV3 storage ds external onlyAdminds returns uint256...

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

msg-value-loop

Lines of code Vulnerability details Impact The use of msg.value in a loop in different places in the contract can introduce potential risks. The contract accepts Ether as part of its execution and relay calls. If the contract's logic does not handle or validate the msg.value appropriately, it can...

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

Functions will always return success even if it is failed

Lines of code Vulnerability details Impact In NounsAuctionHouseFork.sol, safeTransferETH function is used to transfer ETH. File: nouns-contracts/contracts/governance/fork/newdao/NounsAuctionHouseFork.sol 272 function safeTransferETHaddress to, uint256 value internal returns bool 273 bool success,...

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

Division before Multiplication could incur unnecessary precision loss

Lines of code Vulnerability details Impact Division before multiplication could incur unnecessary precision loss causing loss of funds. Proof of Concept In the dynamicQuorumVotes function of NounsDAOV3DynamicQuorum.sol contract the value of againstVotesBPS is first calculated by dividing a value ...

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

Vetoer can veto a non-existent proposal

Lines of code Vulnerability details Impact Vetoer is allowed to veto an invalid proposalId, which would prevent that proposal from getting votes, queued or executed. Proof of Concept Here is the veto function: function vetoNounsDAOStorageV3.StorageV3 storage ds, uint256 proposalId external if...

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

Lack of check for zero address in the function _transferOwnership before transferring ownership

Lines of code Vulnerability details Impact The absence of a check for the zero address address0 when transferring ownership can lead to unintended consequences and potential fund loss. If the contract allows transferring ownership to the zero address address0, it effectively means relinquishing...

6.8AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•8 views

Potential Exploitation of _acceptAdmin Function.

Lines of code Vulnerability details Impact If this vulnerability is exploited, an attacker can wrongfully gain access to the admin role. This can lead to unauthorized control over the contract, allowing the attacker to manipulate critical functionalities and potentially cause financial losses or...

7.7AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/13 12:0 a.m.•5 views

ds._proposals mapping is never updated when a new proposal is created via propose() in NounsDAOV3Proposals.sol

Lines of code Vulnerability details Impact in function propose, after a new proposal is created, the ds.proposals variable in storage is never updated. Natspec comments for StorageV3 struct definition in NounsDAOInterfaces.sol says that ds.proposals is a mapping that contains references to all...

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

All transactions with Ether to NounsDAOExecutor::executeTransaction() function will fail.

Lines of code Vulnerability details Impact All transactions with Ether to the NounsDAOExecutor::executeTransaction function will fail because it does not have the payable keyword. Proof of Concept The executeTransaction function of the NounsDAOExecutor contract does not have the payable keyword s...

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

Votes can be cast even if the proposal state is not "Active"

Lines of code Vulnerability details Impact Votes can be cast on proposals that are not currently open for voting, which can lead to unexpected behavior and potential manipulation of the voting process. By allowing votes to be cast on inactive proposals, it undermines the intended functionality of...

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

Escrow Premature Closure and Fork ID Manipulation in closeEscrow function.

Lines of code Vulnerability details Impact closeEscrow Function: Attack Surface: This function allows the DAO contract to close the escrow and increment the fork ID. Attack Vectors: Unauthorized Access: If an attacker gains control over the DAO contract, they can call this function and close the...

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

Upgraded Q -> 2 from #835 [1689085140858]

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

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

Upgraded Q -> 2 from #727 [1689056911947]

Judge has assessed an item in Issue 727 as 2 risk. The relevant finding follows: ERC20 revert due to sigs issue --- The text was updated successfully, but these errors were encountered: All reactions...

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

Upgraded Q -> 2 from #727 [1689056893075]

Judge has assessed an item in Issue 727 as 2 risk. The relevant finding follows: ERC20 check success issue --- The text was updated successfully, but these errors were encountered: All reactions...

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

Incorrect Bitwise Shift Operation in _validateCall Function

Lines of code Vulnerability details Impact Let's break down this part of the function: if returnedData.length 32 || bytes28bytes32returnedData 32 != bytes280 revert LSP20InvalidMagicValuepostCall, returnedData; This if statement is intended to do two things, as indicated by the two conditions...

6.9AI score
Exploits0
Code423n4
Code423n4
•added 2023/07/10 12:0 a.m.•9 views

Funds added to reserves through sync are accidentally transferred out to users

Lines of code Vulnerability details Impact Wells have the ability to shift funds to other Wells as part of gas-efficient multi-pool swaps. This natspec explanation of this can be find here. The sync function is intended to synchronize the underlying token amounts with the token reserves of the...

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

Code Execution on the ERC725Account in ILSP6KeyManager.sol

Lines of code Vulnerability details Impact The ILSP6KeyManager interface has a few potential security vulnerabilities. These vulnerabilities allow an attacker to execute malicious code on the ERC725Account, bypass nonce checking, and bypass timestamp checking. These vulnerabilities could be...

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

The MultiFlowPump.sol/update() function will neither update nor revert any call made to it by any Well Implementation, hence will fail in storing the correct reserve values.

Lines of code Vulnerability details Impact The MultiFlowPump will not be able to update the lastReserves, emaReserves, cumulativeReserves. This will let any attacker to manipulate the value of reserves to any number. Proof of Concept As provided the code of update function, the getDeltaTimestamp...

6.9AI score
Exploits0
Total number of security vulnerabilities10190