Lucene search
+L
Code423n4Recent

10190 matches found

Code423n4
Code423n4
added 2023/05/31 12:0 a.m.12 views

Upgraded Q -> 2 from #5 [1685528763875]

Judge has assessed an item in Issue 5 as 2 risk. The relevant finding follows: L-03 Host that owns Party NFTs can circumvent reentrancy guard --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/31 12:0 a.m.9 views

Upgraded Q -> 2 from #26 [1685524775382]

Judge has assessed an item in Issue 26 as 2 risk. The relevant finding follows: L-01 Host can reenter rageQuit --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/31 12:0 a.m.11 views

Upgraded Q -> 2 from #20 [1685526689823]

Judge has assessed an item in Issue 20 as 2 risk. The relevant finding follows: L-2 Rage quit forfeits pending claims in TokenDistributor --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.11 views

Users can withdraw more funds if the party has tokens with multiple addresses.

Lines of code Vulnerability details Impact Users can withdraw more funds if the party has tokens with multiple addresses. Proof of Concept Users can burn their party NFTs and take the share of the party's funds. function rageQuit uint256 calldata tokenIds, IERC20 calldata withdrawTokens, address...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.7 views

Fairness should be denominated in mintedVotingPower rather than totalVotingPower

Lines of code Vulnerability details Impact Rage quitter receives too little. Proof of Concept The rage quitter receives a share votingPowerByTokenIdtokenId 1e18 / totalVotingPower of each token balance. However the sum of votingPowerByTokenIdtokenId over all tokenId, i.e. mintedVotingPower, may b...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.14 views

Burning an NFT can be used to block voting

Lines of code Vulnerability details Burning an NFT can be used to block voting Impact A new validation in the accept function has been introduced in order to mitigate a potential attack to the party governance. By burning an NFT, a party member can reduce the total voting power of the party just...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.24 views

Reentrancy guard in rageQuit() can be bypassed

Lines of code Vulnerability details Reentrancy guard in rageQuit can be bypassed The reentrancy guard present in the rageQuit function can be bypassed by host accounts, leading to reentrancy attack vectors and loss of funds. Impact The new rageQuit function can be used by party members to exit...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.21 views

Rage quitting availability cannot be reliably guaranteed

Lines of code Vulnerability details Impact The host can block specific rage quits, invalidating some of the security offered by the rage quit functionality. Proof of Concept Rage quitting is only allowed before rageQuitTimestamp or if permanently enabled: // Check if ragequit is allowed. uint40...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.10 views

Possible overflow in PartyGovernance._isUnanimousVotes()

Lines of code Vulnerability details Impact Proposals can't be executed if totalVotes = 8e24. Furthermore, if emergencyExecuteDisabled == true and rageQuitTimestamp == DISABLERAGEQUITPERMANENTLY, users can't take out the funds from the party forever. Proof of Concept In isUnanimousVotes, it...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.14 views

The distribution logic will be broken after calling rageQuit()

Lines of code Vulnerability details Impact Malicious users might receive more distributed funds than they should with higher distributionShare. Proof of Concept In PartyGovernanceNFT.sol, there is a getDistributionShareOf function to calculate the distribution share of party NFT. function...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.20 views

Rage quitter loses his claimable share of distributed tokens

Lines of code Vulnerability details Impact Rage quitter loses his claimable share of distributed tokens. Proof of Concept PartyGovernanceNFT.rageQuit burns a governance NFT and transfers its share of the balance of ETH and tokens: // Burn caller's party card. This will revert if caller is not the...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.21 views

Governance NFT can be burned to DoS accept()

Lines of code Vulnerability details Impact accept can be DoS'd by burning governance NFTs. Authorities can effectively veto proposals. Proof of Concept The new lastBurnTimestamp reverts PartyGovernance.accept if lastBurnTimestamp == block.timestamp. lastBurnTimestamp is set in...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.13 views

Host can bypass reentrancy guard in rageQuit()

Lines of code Vulnerability details Impact Host can bypass reentrancy guard in rageQuit. Proof of Concept In PartyGovernanceNFT.rageQuit there is a reentrancy guard: // Check if ragequit is allowed. uint40 currentRageQuitTimestamp = rageQuitTimestamp; if currentRageQuitTimestamp !=...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.71 views

Tokens with multiple entry points can lead to loss of funds in rageQuit()

Lines of code Vulnerability details Tokens with multiple entry points can lead to loss of funds in rageQuit ERC20 tokens with multiple entry points also known as double entry tokens or two address tokens can be used to exploit the rageQuit function and steal funds from the party. Impact The...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.13 views

Upgraded Q -> 2 from #11 [1685422294441]

Judge has assessed an item in Issue 11 as 2 risk. The relevant finding follows: L-03:getReward It is recommended to add balance0 before executing transfer getReward will do a transfer on rewaredsToken Since the rewards are from convex, we can't be sure what kind of token it is. we can't be sure...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.16 views

Users can bypass distributions fees by ragequitting instead of using a formal distribution

Lines of code Vulnerability details Impact Distribution fees can be bypassed by ragequitting instead of distributing Proof of Concept address payable feeRecipient = feeRecipient; uint16 feeBps = feeBps; if tokenType == ITokenDistributor.TokenType.Native return distributor.createNativeDistribution...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/30 12:0 a.m.16 views

Rage quit modifications should be limited to provide stronger guarantees to party members

Lines of code Vulnerability details Rage quit modifications should be limited to provide stronger guarantees to party members Party hosts can arbitrarily change the rage quit settings overriding any existing preset. Impact Rage quit is implemented in the PartyGovernanceNFT contract by using a...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/29 12:0 a.m.10 views

Host can instantly set rageQuitTimestamp and prevent members from rage quitting

Lines of code Vulnerability details Impact A malicious Host can front-run rage-quitting members and setRageQuitTimestamp to a time in the past and disable rageQuit. Proof of Concept Ragequit serves as a protective measure for members of a Party to do an emergency withdrawal of their assets in cas...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/29 12:0 a.m.18 views

accept() can be delayed or gas-griefed by burning a governance NFT

Lines of code Vulnerability details Impact Rage quitting or burning a token will set the lastBurnTimestamp to the current block's timestamp. This disables accept for the rest of the transactions in the block. This bug can be abused to either gas-grief or delay acceptance of proposals long enough...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/29 12:0 a.m.31 views

CrossDomainMessenger relayMessage Vulnerability

Lines of code Vulnerability details Impact The vulnerability allows an attacker to manipulate the sender address sender parameter when relaying a message from Layer 2 L2 to Layer 1 L1 in a cross-domain scenario. The issue arises due to the use of the L2CrossDomainMessenger contract address...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/27 12:0 a.m.13 views

Upgraded Q -> 2 from #19 [1685157301242]

Judge has assessed an item in Issue 19 as 2 risk. The relevant finding follows: 1. The first staker of the wxETH can get all the unlocked rewards immediately in the same block. code lines: For the first staker of the wxETH, the totalSupply of the wxETH is 0. So he can wrap the xETH to wxETH as 1:...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/27 12:0 a.m.30 views

Risk assessment of the finalizeETHWithdrawal function in the bridge contract

Lines of code Vulnerability details Summary The finalizeBridgeETH function: function finalizeETHWithdrawal address from, address to, uint256 amount, bytes calldata extraData external payable finalizeBridgeETHfrom, to, amount, extraData; is a public function, which means that anyone can call it...

6.6AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.13 views

It is possible that recovery transaction cannot be performed even if signer still controls address that is an address of recoveryInfo.keys

Lines of code Vulnerability details Impact When a signer's privileged address is compromised, this signer can call the following AmbireAccount.execute function with sigMode being SIGMODERECOVER by using a signature signed by an address of recoveryInfo.keys that is still controlled by such signer ...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.13 views

AmbireAccount implementation can be destroyed by privileges

Lines of code Vulnerability details AmbireAccount implementation can be destroyed by privileges The AmbireAccount implementation can be destroyed, resulting in the bricking of all associated wallets. Impact The AmbireAccount contract has a constructor that setups privileges, these are essentially...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.11 views

Requirement for having timelocks on recovery transactions is not enforceable

Lines of code Vulnerability details Impact When calling the following AmbireAccount.execute function with sigMode being SIGMODERECOVER, a recovery transaction can be scheduled if requireprivilegessignerKeyToRecover == recoveryInfoHash, 'RECOVERYNOTAUTHORIZED' and requireisIn,...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.19 views

AmbireAccount.isValidSignature() does not cover recovery signatures

Lines of code Vulnerability details Impact A recovery key can sign for a recovery but cannot get isValidSignature to return that it is valid. Proof of Concept AmbireAccount.isValidSignature is implemented as follows function isValidSignaturebytes32 hash, bytes calldata signature external view...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.13 views

Project may fail to be deployed to chains not compatible with Shanghai hardfork

Lines of code Vulnerability details Project may fail to be deployed to chains not compatible with Shanghai hardfork Current settings may produce incompatible bytecode with some of the chains supported by the protocol. Impact The Ambire wallet supports and targets different chains, such as Ethereu...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.16 views

deployAndExecute() function in Factory should be payable

Lines of code Vulnerability details deployAndExecute function in Factory should be payable The deployAndExecute function fails to consider ETH payments that may need to be forwarded to the wallet's execute function. Impact The deployAndExecute function present in the AmbireAccountFactory can be...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.9 views

Attacker can force the failure of transactions that use tryCatch

Lines of code Vulnerability details Attacker can force the failure of transactions that use tryCatch An attacker or malicious relayer can force the failure of transactions that rely on tryCatch by carefully choosing the gas limit. Impact The tryCatch function present in the AmbireAccount contract...

7.4AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.12 views

Current design won't allow to update reference implementation without breaking counterfactuality

Lines of code Vulnerability details Current design won't allow to update reference implementation without breaking counterfactuality The current design of the Ambire wallet doesn't allow to update the reference implementation as doing so will break counterfactuality. Impact Ambire wallets are...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.12 views

Fallback handlers can trick users into calling functions of the AmbireAccount contract

Lines of code Vulnerability details Fallback handlers can trick users into calling functions of the AmbireAccount contract Selector clashing can be used to trick users into calling base functions of the wallet. Impact Fallback handlers provide extensibility to the Ambire wallet. The main idea her...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.17 views

SignatureValidator.recoverAddrImpl for mode Multisig checks only the last value is different to zero address

Lines of code Vulnerability details Description Current implementation when mode == SignatureMode.Multisig only checks that the last time signer is calculated is different from zero address. The variable signer is overwritten with a new value, based on the previous value and the current signature...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/26 12:0 a.m.15 views

Recovery transaction can be replayed after a cancellation

Lines of code Vulnerability details Recovery transaction can be replayed after a cancellation The recovery transaction can be replayed after a cancellation of the recovery procedure, reinstating the recovery mechanism. Impact The Ambire wallet provides a recovery mechanism in which a privilege ca...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/25 12:0 a.m.11 views

TEST M

Lines of code Vulnerability details TEST Assessed type call/delegatecall --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/25 12:0 a.m.12 views

execute() replay RECOVER after cancel

Lines of code Vulnerability details Impact Maliciously replay a recover transaction that has been cancelled and execute it Proof of Concept The user can cancel the transactions already in scheduledRecoveries by using SIGMODECANCEL. The code is as follows: function executeTransaction calldata txns...

7.2AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/24 12:0 a.m.11 views

new finding

Lines of code L2 Vulnerability details test Assessed type Decimal --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/24 12:0 a.m.11 views

H-100 Unmitigated

Lines of code L1 Vulnerability details test Assessed type call/delegatecall --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/24 12:0 a.m.13 views

test with new label

Lines of code L1 Vulnerability details test Assessed type CanAuto --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/23 12:0 a.m.13 views

Upgraded Q -> 2 from #964 [1684819958119]

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

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/23 12:0 a.m.11 views

Upgraded Q -> 2 from #928 [1684820150232]

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

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/22 12:0 a.m.9 views

Verify the correspondence between trading pairs and pools

Lines of code Vulnerability details Impact It may cause the correct ProjectToken to be locked, and transfer the wrong ProjectToken to the beneficiary. Proof of Concept Add test USDC after line 78 in the test file. IERC20 usdc = IERC200xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48; Modify line 142...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/22 12:0 a.m.11 views

If, as a result of the calculation, _tokenCount = 0, then this may lead to incorrect execution of the _mint function(_data, _tokenCount).

Lines of code Vulnerability details Impact If the payParams function receives null values in data, then uint256 tokenCount = PRBMath.mulDivdata.amount.value, data.weight, 10 18 may result in a null value. Proof of Concept If, as a result of the calculation, tokenCount = 0, then this may lead to...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/22 12:0 a.m.10 views

Potential frozen projectTokens due to discrepancy in reservedRate

Lines of code Vulnerability details The handling of projectToken in swap follows 3 steps: Burn all the reserved token in the delegate 293: controller.burnTokensOf 294: holder: addressthis, 295: projectId: data.projectId, 296: tokenCount: reservedToken, 297: memo: "", 298: preferClaimedTokens: tru...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/22 12:0 a.m.11 views

Amount of project token minted to beneficiary by JBXBuybackDelegate._mint function is not checked against an expected minimum number of project tokens to be minted to such beneficiary

Lines of code Vulnerability details Impact Calling the following JBPayoutRedemptionPaymentTerminal31.pay function executes fundingCycle, tokenCount, delegateAllocations, memo = store.recordPaymentFrompayer, bundledAmount, projectId, baseWeightCurrency, beneficiary, memo, metadata. File:...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/22 12:0 a.m.11 views

Upgraded Q -> 2 from #42 [1684786437801]

Judge has assessed an item in Issue 42 as 2 risk. The relevant finding follows: While the "division before multiplication" issues described in M-01 have been mitigated in the proposed changeset, there are other cases which should be addressed too. Technical Details In SafEth::stake the calculatio...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/22 12:0 a.m.9 views

Delegate doesn't verify payed ETH value matches amount in parameter

Lines of code Vulnerability details Delegate doesn't verify payed ETH value matches amount in parameter The JBXBuybackDelegate delegate fails to check that the sent ETH amount matches the value passed in the amount parameter. Impact The payable didPay function present in the delegate is called by...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/22 12:0 a.m.9 views

No guard for mintedAmount or reservedRate

Lines of code Vulnerability details Impact mintedAmount and reservedRate are supposed to have mutex functionality, based from the comments. Yet, those are set or used without any restrictions, without any mutex logic. Since mintedAmount designates the amount of tokens to mint and reservedRate...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/22 12:0 a.m.13 views

arbitrary reservedRate value will result the next swap to be wrongly executed

Lines of code Vulnerability details Impact the function "payParams" will set the variable reservedRate without checking the effective value of that param,in fact if someone decides to call the "payParams" function passing as data.reservedRate a number 10k will result in the next swap that will...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/22 12:0 a.m.9 views

Lack checks if Pool deployed by the canonical UniswapV3Factory in uniswapV3SwapCallback

Lines of code Vulnerability details Impact Loss of deserved tokens or DoS when users use this contract. Proof of Concept According to the uniswap docs: The caller of this method must be checked to be a UniswapV3Pool deployed by the canonical UniswapV3Factory. However, there is no check in this...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/05/22 12:0 a.m.84 views

Swaps in Uniswap V3 may be partial

Lines of code Vulnerability details Swaps in Uniswap V3 may be partial Uniswap V3 pools may execute a swap partially, in which case it may leave an unhandled amount of WETH in the JBXBuybackDelegate contract. Impact Swaps in Uniswap V3 can eventually be executed partially, if liquidity is not...

6.7AI score
SaveExploits0
Total number of security vulnerabilities10190