Lucene search
K
Code423n4Recent

10190 matches found

Code423n4
Code423n4
added 2023/07/28 12:0 a.m.10 views

Users with 0 votes can vote .

Lines of code Vulnerability details Impact Users with 0 votes can vote , which can lead to unwanted scenarios . Proof of Concept The function vote in CoreVoting.sol looks like this : function vote address memory votingVaults, bytes memory extraVaultData, uint256 proposalId, Ballot ballot public...

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

Users' registration amounts and contract balance state will be incremented incorrectly if the NFTBoostVault::_lockTokens() silently fails

Lines of code Vulnerability details Users can add and lock tokens to the NFTBoostVault contract to increase their voting power using addTokens function. This function will increment the contract's balance state and the user's registration.amount. Then, it will sync the voting power according to t...

6.7AI score
Exploits0
Code423n4
Code423n4
added 2023/07/28 12:0 a.m.46 views

Arbitrary from in transferFrom

Lines of code Vulnerability details Impact function aaddress from, address to, uint256 amount public erc20.transferFromfrom, to, am; Alice approves this contract to spend her ERC20 tokens. Bob can call a and specify Alice's address as the from parameter in transferFrom, allowing him to transfer...

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

Front run attacks during the 7 day cooldown period in setGSCAllowance.

Lines of code Vulnerability details Impact A malicious miner can send a transaction from the GSC to drain the new allowance before the admin's transaction sets it. Proof of Concept The setGSCAllowance function sets a 7 day cooldown period between allowance changes for each token. This prevents th...

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

treasury approveSmallSpending / MediumSpend / LargeSpend and small / medium / large transfer can be blocked

Lines of code Vulnerability details Impact treasury approveSmallSpending, approveMediumSpend and approveLargeSpend can be frontrunned Proof of Concept the AracheTreasury, there are three spending relate function: approveSmallSpend, approveMediumSpend, approveLargeSpend both of these function call...

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

Voting can fail in early stage of voting in case of voter's voting power increase .

Lines of code Vulnerability details Impact Voting may fail in early stage of voting in case of voter's voting power increase . Proof of Concept In CoreVoting.sol , in terms of voting again the logic in vote function looks like this : // if a user has already voted, undo their previous vote. //...

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

setThreshold can bypass cool down period in setGSCAllowance

Lines of code Vulnerability details Impact setThreshold can bypass the cool down period in setGSCAllowance and decrease the gscAllowancetoken. Proof of Concept In setGSCAllowance, we add a cool-down period of 7 days for the admin to set a new allowance to gscAllowancetoken either increase or...

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

aprove and spend at same block may hard to execute by order

Lines of code Vulnerability details Impact aprove and spend at same block may hard to execute by order Proof of Concept approve: blockExpenditureblock.number = amount + spentThisBlock; spend: uint256 spentThisBlock = blockExpenditureblock.number; if amount + spentThisBlock limit revert...

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

User able to steal all votes escrowed in LockingVault due to downcasting

Lines of code Vulnerability details Even though the LockingVault is considered out of scope, it contains very serious vulnerability allowing anyone to steal ALL Arcade voting tokens. The vulnerability is possible due to downcasting amount to withdraw to uint96. In case that the amount of tokens...

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

Malicious user can create an harmful proposal and execute it by setting a very low quorum .

Lines of code Vulnerability details Impact Malicious user can create an harmful proposal and execute it by setting a very low quorum . Which can lead to very bad consequences . Proof of Concept When creating a proposal, quorum is calculation logic looks like this : // get the quorum requirement f...

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

Time Manipulation attack on reliance on block.timestamp for time-sensitive operations.

Lines of code Vulnerability details Impact The block.timestamp allows a miner to call the mint function before the intended starting time mintingAllowedAfter which could lead to time manipulation. Contract name: ArcadeToken.sol Code link: Code line: function mintaddress to, uint256 amount externa...

6.6AI score
Exploits0
Code423n4
Code423n4
added 2023/07/28 12:0 a.m.4 views

Loss of previous spending power for same spender address in Treasury Contract

Lines of code Vulnerability details Line of code: Impact Lose of previous spending power for same address in TreasuryContract Proof of Concept the AracheTreasury, there are three spending relate function: approveSmallSpend, approveMediumSpend, approveLargeSpend both of these function call...

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

ADMIN CAN CHANGE THE GSCAllowance BEFORE THE COOL DOWN PERIOD HAS PASSED

Lines of code Vulnerability details Impact The ArcadeTreasury.setGSCAllowance is used to set the GSC allowance for a token. This function is only callable by the contract admin. Even though this function is controlled by the admin, there is an additional restriction implemented, in the form of a...

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

withdrawFees Have a vulnerability leading to

Lines of code Vulnerability details Impact Thé withdrawFees function allows the manager to withdraw all ETH fees from the contract., this function uses the transfer method here the vulnerable part: function withdrawFeesaddress recipient external onlyRoleBADGEMANAGERROLE if recipient == address0...

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

Missing Validation which could cause Underflow Error

Lines of code Vulnerability details Impact Two instances of Missing Validation which could cause Underflow Error are spotted at L194 and L593 of NFTBoostVault.sol contract, from L194 there is no check to validate that oldDelegateeVotes is greater than registration.latestVotingPower and from L593...

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

Unsafe downcast can lead to silent Overflow that causes accounting issues which can be exploited.

Lines of code Vulnerability details Impact In the ARCDVestingVault.sol, there are instances of Unsafe downcasting where if the amount is greater than uint128 the amount will Overflow but silently where the transaction won't revert causing the stored amount to be smaller than the actual amount tha...

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

Manager can delete any users voting power

Lines of code Vulnerability details Impact A manager can maliciously/accidentally remove all voting power for all users due to missing input validation when setting the multiplier value. By setting a value smaller than 1e3 it will result in all multiplier calculations rounding to 0, causing loss ...

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

[MEDIUM] NFTBoostVault#addNftAndDelegate - Not setting a delegatee in the addNftAndDelegate will cause the addTokens function and updateNft to revert

Lines of code Vulnerability details Impact The absence of a delegatee in the addNftAndDelegate function in the NFTBoostVault contract will cause the addTokens and updateNft functions to revert. This is due to the assumption that a delegatee has been set, which is not always true. This issue may...

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

A malicious manager could revoke grants early and steal unvested tokens.

Lines of code Vulnerability details Impact A malicious manager can: Revoke a grant before its expiration. Take all tokens not yet vested/withdrawn based on the vesting schedule. Deprive the grant owner of tokens they should have later received if vesting continued. Proof of Concept A The...

6.7AI score
Exploits0
Code423n4
Code423n4
added 2023/07/28 12:0 a.m.9 views

It's possible to block some user from voting for (or against) some proposal

Lines of code Vulnerability details Note: Although some code involved is inside a contract which is out of scope, I argue that this finding is in scope, since the vulnerability exists in the in-scope contract. In the Arcade protocol, there are several voting vaults implemented so that users can u...

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

ARCDVestingVault._syncVotingPower could revert if newVotingPower is big enough.

Lines of code Vulnerability details Impact ARCDVestingVault.syncVotingPower calculate the change in voting power using int256newVotingPower - int256grant.latestVotingPower. If newVotingPower is greater than typeint256.max, ARCDVestingVault.syncVotingPower could revert. Proof of Concept...

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

a user can not change there vote and will cause to revert when trying due to uninitialized enum

Lines of code Vulnerability details Impact in CoreVoting.vote if you are voting again or changing direction firstly it will subtract the previous vote amount of votes but when doing that it is using uninitialized enum castBallot which by default return 0 yes enum to subtract from if...

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

NFTBoostVault is not a proper implementation/logic contract in upgradeability system

Lines of code Vulnerability details Impact As per the natspec comments in the NFTBoostVault contract, the NFTBoostVault contract "is Simple Proxy upgradeable which is the upgradeability system used for voting vaults in Council". This implies that this contract will be used as the...

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

IF FEE ON TRANSFER TOKEN CONFIGURED AS THE VOTING TOKEN FOR THE VAULT, IT COULD INTRODUCE ACCOUNTING ERROR FOR VOTE COUNT

Lines of code Vulnerability details Impact The NFTBoostVault.lockTokens function is used to transfer the ERC20 voting token of the vault and the ERC1155 NFT to the NFTBoostVault contract after accounting for their respective votes. The issue here is that a fee-on-transfer token could get selected...

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

A grant cannot be removed if the user has already claimed/withdrawn all his tokens beforehand

Lines of code Vulnerability details The revokeGrant is used to removes a grant. Any available vested tokens will be sent to the grant recipient. Any remaining unvested tokens will be sent to the vesting manager. But in the case when the user has already claimed all his tokens, the revokeGrant wil...

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

Front running issue when updating the GSC allowance

Lines of code Vulnerability details Impact This would lead to loss of funds as the attacker drained tokens based on old allowance. Proof of Concept The issue is between these two lines: 1. The new allowance amount is set in storage via gscAllowancetoken = newAllowance 2. The GSCAllowanceUpdated...

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

GSC will lose allowance if it tries to lower a spender's approval

Lines of code Vulnerability details Impact GSC will lose allowance if it tries to lower a spender's approval. Proof of Concept When gsc update a spender's approval, the gscAllowance will always decrease by amount: function gscApprove address token, address spender, uint256 amount external...

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

Incorrect accounting in GSC approval mechanism in ArcadeTreasury

Lines of code Vulnerability details Impact Once the GSC has approved a spender for a certain amount of tokens, any further attempt to modify this approval will result in inaccessible treasury funds. Proof of Concept Currently every call to gscApprove results in the gscAllowance decreasing which...

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

User can drain all locked tokens during withdrawal and still retain their voting power

Lines of code Vulnerability details Impact In the NFTBaseVault.sol contract, a user can decide to withdraw all locked tokens by calling the withdraw... function until all locked funds are drained and the still retain their voting power. Proof of Concept if a user malicious or not decides not to...

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

_getSelector does not return the right selector

Lines of code Vulnerability details Impact getSelector... function in the CoreVoting.sol will NEVER return the correct function selector of a calldata string. This can lead to malfunction in the system when creating a proposal. Proof of Concept The function selector is suppose to be the hash dige...

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

Reverts when a User claims Voting Power of address(0) where there exists some for address(0)

Lines of code Vulnerability details Impact There is no zero address check in the delegate function in ARCDVestingVault contract. This allows address0 to be able to accumulate VotingPower. Now when there is a some Voting Power for address0, any user can delegate themselves for address0 and claim...

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

ARCDVestingVault.sol::revokeGrant can revert for zero value transfers with weird ERC20 tokens.

Lines of code Vulnerability details Impact The call to revokeGrant by a Manager before the cliff time has been reached can cause the call to revert for some ERC20 tokens, this can stop the manager from revoking a grant from a given recipient. Proof of Concept The following scenario could occur,...

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

The _verifyClaim() does not check claimRoots mapping value, which can happen when token with certain tokenId is never minted.

Lines of code Vulnerability details Impact User could mint ReputationBadge for himself without being legitimate. Proof of Concept The verifyClaim does not check claimRoots mapping value, which can happen when token with certain tokenId is never minted. When: claimRootstokenId == bytes320 If...

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

[MEDIUM] ARCDVestingVault#deposit and NFTBoostVault#_lockTokens- Unsafe transferFrom function is not properly invoked

Lines of code Vulnerability details Impact The use of transferFrom in the ARCDVestingVaultdeposit and NFTBoostVaultlockTokens functions presents a risk of erroneous token transfers. The transferFrom function doesn't perform necessary validations e.g. validate the returned bool in case of failure,...

6.7AI score
Exploits0
Code423n4
Code423n4
added 2023/07/28 12:0 a.m.8 views

Malicious proposal can drain the treasury contract and bypass the gscAllowance[token] check

Lines of code Vulnerability details Impact Malicious proposal can drain the treasury contract and bypass the gscAllowancetoken check Proof of Concept See this two function: function gscSpend address token, uint256 amount, address destination external onlyRoleGSCCOREVOTINGROLE nonReentrant if...

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

If a lower multiplier for a particular NFT was set the owner of this NFT can avoid syncing votes with new values.

Lines of code Vulnerability details Impact The current situation presents an issue as it is impossible to identify the addresses of users who possess specific NFT tokens locked in the contract. Consequently, if a new multiplier is lower than the previous one, a "malicious" user could exploit this...

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

Malicious actors could pass in huge arrays to disrupt service availability (DOS) in the updateVotingPower function

Lines of code Vulnerability details Impact The contract is stopped from being usable by legitimate users if the attacker repeatedly spammed large arrays Proof of Concept The updateVotingPower function currently only checks that the array is = 50: While 50 may be a reasonable limit for normal usag...

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

User can delegate to address(0) in ARCDVestingVault thereby increasing address(0) VotingPower

Lines of code Vulnerability details Impact There is no zero address check in the delegate function in ARCDVestingVault contract. This allows address0 to be able to accumulate VotingPower. Proof of Concept 1. In ARCDVestingVault.delegate, Alice calls the function with voting Power 100e18 and...

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

faulty users can abuse the function delegate in NFTBoostVault.sol

Lines of code Vulnerability details Impact The contract NFTBoostVault.sol lets users to register their tokens/optional NFT's in exchange of voting power. in this contract its mandatory for users to be registered in order to lock their tokens and claim voting power, as its mentioned in the code...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2023/07/28 12:0 a.m.6 views

voting power is insufficiently tracked

Lines of code Vulnerability details Impact Historical balance tracking of votingPower is not stored due to values being updated in memory rather than storage. This means old delegatees may retain voting power which should have been removed from them, new delegatees may not not receive their...

6.6AI score
Exploits0
Code423n4
Code423n4
added 2023/07/28 12:0 a.m.6 views

User can be assigned voting power without locking tokens

Lines of code Vulnerability details Impact Using can avoid locking their tokens when adding tokens to an existing registration by calling addTokens.... Proof of Concept A malicious user can steal funds when adding tokens to an existing registration. This owing to the early return in the...

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

Block Gas Calculation Error

Lines of code Vulnerability details Impact Two instances of Block gas usage calculation error can be spotted at L360 and L386 of ArcadeTreasury.sol contract. Based on the comment of code description, it can be deduced that the purpose of this line of code is to calculate block gas limit in other ...

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

User cannot withdraw their ERC1155 tokens.

Lines of code Vulnerability details Impact In the NFTBoostVault.sol contract, users can only withdraw their ERC1155 if utilized when they are withdrawing all their tokens at once. this can lead to loss of funds for the users who decide to withdraw their locked tokens in bits. Proof of Concept Whe...

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

Batch function calls can use up all the gas and fail

Lines of code Vulnerability details Impact Every function call "targetsi.call" is going to store the response data in memory, although it is not stored in a variable. Storing the data requires gas and can use up all gas if the data is big enough. This risk increases exponentially since there is a...

6.6AI score
Exploits0
Code423n4
Code423n4
added 2023/07/28 12:0 a.m.6 views

treasury approveSmallSpending, approveMediumSpend and approveLargeSpend and setThreshold and setGSCAllowance can be frontrunned

Lines of code Vulnerability details Line of code: Impact treasury approveSmallSpending, approveMediumSpend and approveLargeSpend can be frontrunned Proof of Concept the AracheTreasury, there are three spending relate function: approveSmallSpend, approveMediumSpend, approveLargeSpend both of these...

6.7AI score
Exploits0
Code423n4
Code423n4
added 2023/07/27 12:0 a.m.9 views

Not all profiles can be migrated to V2 profile

Lines of code Vulnerability details Impact There seem to be some differences in the validation logic that makes the V1 to V2 conversion for some profiles impossible. Proof of Concept // SPDX-License-Identifier: UNLICENCED pragma solidity =0.8.4; contract HandleMigration uint256 internal constant...

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

Upgraded Q -> 2 from #899 [1690501938379]

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

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

Upgraded Q -> 2 from #729 [1690502136415]

Judge has assessed an item in Issue 729 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/27 12:0 a.m.5 views

Unrestricted Access to setRoyalty Function

Lines of code Vulnerability details Impact Severity: High Likelihood: High Description The setRoyalty function in the ERC2981CollectionRoyalties contract can be called by anyone. This function is used to set the royalty information for a specific token ID. However, because there are no access...

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

User can potentially bypass the processFollow call during the migration process and follow users for free

Lines of code Vulnerability details Impact User can potentially follow users that require to pay a fee upon a follow for free during a migration process. Proof of Concept Malicious user can be watching a mempool and wait for the user to migrate his profile to V2. He is specifically watching a...

7AI score
Exploits0
Total number of security vulnerabilities10190