Lucene search
+L
Code423n4Recent

10190 matches found

Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•12 views

Inactive Orchestrators and delegators's vote still counts towards as effective when calculating the quota and quorum

Lines of code Vulnerability details Impact Inactive Orchestrators and delegators's vote still counts towards as effective when calculating the quota and quorum Proof of Concept According to the documentation, one of the priorty is to ensure the code implementation matches the LIP specification...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•13 views

The logic in _handleVoteOverride to determine if an account is transcoder is not consistent with the logic in the BondManager.sol

Lines of code Vulnerability details Impact The logic in handleVoteOverride to determine if an account is transcoder has issue Proof of Concept In the current implementation, when a voting, the function countVote is triggered, this function is overriden in the function...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•17 views

Malicious users can manipulate the withdrawRound to withdraw their stake before the unbonding period is over.

Lines of code Vulnerability details Impact Disruption the normal bonding incentives and mechanisms in the protocol. Validators or transcoders could withdrew unexpectedly, preventing governance responses to bonded token changes. Proof of Concept The withdrawStake function first checks if the...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•14 views

quorum and quota calculation logic is flawed

Lines of code Vulnerability details Impact quorum and quota calculation logic is flawed Proof of Concept votes to be valid, and if the poll passed or failed. At the time of writing, then QUORUM value is 33% of active stake, and the QUOTA is 50%, meaning that as long as 1/3rd of active stake votes...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•18 views

The bond manager contract does not properly zero out the transcoder's cumulative rewards/fees between rounds.

Lines of code Vulnerability details Impact transcoder's cumulative rewards and fees can continue accumulating from previous rounds, instead of resetting each round. This means a transcoder could claim portion of rewards/fees that it should not be entitled to. Proof of Concept This only resets the...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•24 views

The utilization of strict equality within the subtractLoss function is susceptible to straightforward manipulation by a potential attacker.

Lines of code Vulnerability details Impact If this equality condition is intentionally disrupted, it will result in the failure of all settlement processes carried out using the settle function. Proof of Concept Tools Used Manual review Recommended Mitigation Steps - collateral.balanceOfaddressth...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•13 views

Total stake will be incorrectly reduced if the transcoder was already deactivated.

Lines of code Vulnerability details Impact This will result in the total active stake being incorrectly calculated in future rounds. Some transcoders may get more or less rewards than they should. Proof of Concept The key functions involved are: slashTranscoder - Called to slash a transcoder...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•26 views

Potential insolvency risk in dpxETH stablecoin system due to absence of liquidation mechanism

Lines of code Vulnerability details Impact The dpxETH stablecoin system, as implemented, relies on user deposits as collateral when the stablecoin is minted through bond purchasing. When the bonding process is done, the protocol mints a corresponding amount of Receipt tokens to the user that he c...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•57 views

the perpetualVaultLP.sol is vulnable by flashloan attack

Lines of code Vulnerability details impact The perpVaultLp contract is susceptible to a flash loan attack. An attacker can exploit the vulnerability by executing flash loan transactions using both the deposit and redeem functions. This allows the attacker to acquire extra rdpx tokens and increase...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•22 views

Front-running attack can occur between when the unbonding lock is created and when the delegator's bonded amount is decreased.

Lines of code Vulnerability details Impact This would allow the delegator to temporarily have more bonded tokens than they should. They could take advantage of this by voting in governance with the increased voting power or withdrawing increased fees Proof of Concept 1. When unbond is called, an...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•20 views

When user unbonds before transcoder calls reward, then cumulativeRewardFactor for the round is less than it should be

Lines of code Vulnerability details Impact When user unbonds before transcoder calls reward, then cumulativeRewardFactor for the round is less than it should be. As result other delegators loose rewards. Proof of Concept Each round transcoder can call reward function in order to claim reward toke...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•21 views

The quorum calculation in the _quorumReached() function is inconsistent and could allow abstain votes to prevent a proposal from reaching quorum even if most participating voters are in favor

Lines of code Vulnerability details Impact This allows abstain voters to effectively veto a proposal, even if most participating voters approve it. Proof of Concept The quorum numerator and denominator are inconsistent. The quorum uses totalVotes for the denominator which includes abstains. But t...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•16 views

Any call to settle a bond can be reverted by donating 1 WEI to the VaultLP contract

Lines of code Vulnerability details Impact Any settle call can be reverted, thus disallowing the protocol from settling any options and from releasing the locked tokens. Proof of Concept The protocol admin calls settle on an option when its price gets bellow the strike price, at which the option ...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•21 views

Only admin can call peg functions

Lines of code Vulnerability details Impact Only admin multisig can call peg functions. This might delay re-pegs. Proof of Concept Both upperDepeg and lowerDepeg are meant to be called by any EOA or whitelisted contracts, but due to the onlyRole modifier, only the admin can currently call these...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•16 views

the transcoder can continue to participate and earn rewards for a portion of the round it is supposed to be deactivated in

Lines of code Vulnerability details Impact A transcoder can potentially receive rewards/fees when it should not be active anymore Proof of Concept resignTranscoder sets the deactivationRound to the next round current round + 1 The isActiveTranscoder check just compares the current round against t...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•24 views

Slashed transcoder can gain more voting power than it should if all of his bondedAmount would be slashed

Lines of code Vulnerability details Impact Slashed transcoders can still become active transcorders by bonding an amount again to increase the total stake, which can inflate the actual delegatedAmount, giving those transcorders more power voting power than it should. Proof of Concept Every time...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•38 views

LastRewardRound is sometimes not checkpointed for Delegators

Lines of code Vulnerability details Impact lastRewardRound is not updated/checkpointed for delegators when transcoder changes state. This results in incorrect rewards and votes. It also violates this checkpointing condition specified by the technical specification: Quote: "In practical terms, it...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•32 views

.The _newPosPrev/_newPosNext hints do not fully prevent invalid ordering when decreasing a delegate's stake.

Lines of code Vulnerability details Impact The contract could incorrectly deactivate or reward transcoders based on the invalid pool order. Proof of Concept When decreasing a delegate's stake with decreaseTotalStake, the contract calls transcoderPool.updateKey to update the delegate's position in...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•22 views

ERRORNEOUS RETURN VALUE PROVIDED BY THE UniV2LiquidityAmo.getLpTokenBalanceInWeth FUNCTION DUE TO PRECISION ERROR

Lines of code Vulnerability details Impact The UniV2LiquidityAmo.getLpTokenBalanceInWeth function is used to return the LP token balance of the contract in weth. It calls the getLpPrice function which is expected to return the LP price in 1e8 precision. getLpPrice function calls the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•21 views

Calculating slippage from price oracle is not accurate

Lines of code Vulnerability details Impact calculating slippage using oracle prices will lead to inaccurate slippage values , due to this swaps will fail or execute with higher slippage. Proof of Concept In curveSwap function of RdpxV2Core contract slippage is being calculated using oracles price...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•34 views

Potential Over-redemption Vulnerability in redeem Function

Lines of code Vulnerability details Impact In the redeem function, when a third party is using their allowance to redeem shares on behalf of an owner, there exists a potential scenario where the third party could redeem more than originally intended by the owner. Proof of Concept This is how the...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•118 views

arbitrum block.number refers to L1 block number, not L2 block number when determining the round

Lines of code Vulnerability details Impact arbitrum block.number refers to L1 block number, not L2 block number Proof of Concept In the current implementation, the round manager use block.number to determine the round However, according to the block.number in arbitrum refers to ethereum mainnet...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•29 views

Bonding WETH discounts can drain WETH reserves of RdpxV2Core contract to zero

Lines of code Vulnerability details Impact Depending on the reserves of rDPX, bonding discounts are given both on the rDPX and WETH collateral requirements for minting dpxETH. The bonding discounts for both rDPX and WETH portions are provided as rDPX which is taken from the treasury. The issue wi...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•24 views

In BondingVotes.sol, clock() will not work properly for Arbitrum due to use of block.number

Lines of code Vulnerability details Impact In BondingVotes.sol, clock is set to match the current round and clock has been extensively used in onlyPastRounds, getVotes, delegates, checkpointBondingState, checkpointTotalActiveStake, getTotalActiveStakeAt, getBondingCheckpointAt and it is given as...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•25 views

missing in calculation parameter issue in Earnings Pool

Lines of code Vulnerability details Impact here is the vulnerable part in code : function getLastTranscoderRewardsEarningsPooladdress transcoder, uint256 round internal view returns uint256 rewardRound, EarningsPool.Data memory pool BondingCheckpoint storage bond = getBondingCheckpointAttranscode...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•24 views

Users are able to front-run settlements to avoid loss

Lines of code Vulnerability details Impact A user is able to front-run the call to settle function in to avoid paying the loss. settle is called by Admin which is a public function, When this functions is called the transaction will appear in the mem pool. A user may then call redeem from LP Vaul...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•17 views

bonding on behalf of a new delegator sets the start round to the current round + 1, but the assumed future round may never actually start if rounds get stuck

Lines of code Vulnerability details Impact • If rounds get stuck and currentRound + 1 never happens, the new delegator will never be able to claim earnings. Their startRound will be set to a future round that doesn't exist. • This prevents them from claiming earnings accrued from their staked...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•8 views

Vulnerability in the increaseTotalStake() call happening before deleting the lock in the processRebond() function.

Lines of code Vulnerability details Impact This can allow double claiming of stake if the user tries to rebond again with the same lock ID. Proof of Concept The main points: • del.bondedAmount is increased before the lock is deleted • increaseTotalStake is called after deleting the lock If...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•11 views

Increasing Stake records the delegated amount for delegator, but does not update the earningsPool stake for transcoder resulting in loss of rewards

Lines of code Vulnerability details Impact IncreaseTotalStakeUncheckedPoint function updates the delegated amount, but could may not update the staked amount for the transcoder. This will impact the rewards calculation for transcoder and delegators. Proof of Concept When the TotalStake is...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•25 views

Improper precision of strike price calculation can result in broken protocol

Lines of code Vulnerability details Impact Due to a lack of adequate precision, the calculated strike price for a PUT option for rDPX is not guaranteed to be 25% OTM, which breaks core assumptions around 1 protecting downside price movement of the rDPX which makes up part of the collateral for...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•20 views

using increaseTotalStakeUncheckpointed() instead of increaseTotalStake() can lead to inconsistent transcoder state

Lines of code Vulnerability details Impact This allows a transcoder to increase their voting power without actually increasing their stake. Proof of Concept The relevant code that uses increaseTotalStakeUncheckpointed and skips transcoder state checkpointing is in the updateTranscoderWithRewards...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•50 views

Lack of minAmount when adding liquidity into Uniswap V2 can lead to the LP getting MEVd

Lines of code Vulnerability details Impact The amount being LPd into Uniswap can get stolen trough MEV. Proof of Concept The reLP contract re-LPs a certain amount of the tokens, that enter after a bond gets bought. The issue arises due to there not being proper minimum liquidity amounts passed wh...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•24 views

The Rdpx V2 Core contract functionality blocking

Lines of code Vulnerability details Impact The RdpxV2Core contract functionality can be blocked as long as the contract WETH balance is less than totalWethDelegated. This can happen even without malicious activities. Proof of Concept The sync function of the RdpxV2Core contract has a special...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•24 views

DOS in governance when voting after delegate

Lines of code Vulnerability details Impact The GovernorCountingOverridable::handleVoteOverrides function substracts the delegator vote weight from the total votes when the delegatee has already submited a vote. However, if the delegator's vote is greater than the current total vote the substracti...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•22 views

Incorrect slippage calculation in _curveswap function

Lines of code Vulnerability details Impact swaps will fail or execute with higher slippage than intended. Proof of Concept In curveSwap function of RdpxV2Core contract , getEthPrice should be used in place of getDpxEthPrice, and getDpxEthPrice should be used in place of getEthPrice. / @notice...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•28 views

RDPX price manipulation benefit for attacker via a Flashloan attack

Lines of code Vulnerability details Impact As the RdpxV2Core contract burns RDPX tokens, a malicious attacker can benefit from a price manipulation attack using a flashloan attack Proof of Concept The function bond in the RdpxV2Core contract is a primary function to enter the protocol and bond...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•30 views

Calculating the previous pool's 'cumulativeRewardFactor' from the current pool incorrectly calculates the reward.

Lines of code Vulnerability details Impact When we updated a transcoder with rewards and then try to update a transcoder with fees, it incorrectly calculates the reward generated in the current round for that transcoder, which also incorrectly calculates the previous pool's cumulativeRewardFactor...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•16 views

Inaccurate Bonded Amount Event Emission

Lines of code Vulnerability details Impact in here : if previous.bondedAmount != current.bondedAmount emit DelegatorBondedAmountChangedaccount, previous.bondedAmount, current.bondedAmount; the function checks if the previous.bondedAmount is not equal to current.bondedAmount before emitting the...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•17 views

An attacker can manipulate the total active stake before calling reward() to get more rewards

Lines of code Vulnerability details Impact Attackers could drain rewards meant for other transcoders. Proof of Concept The key vulnerable code is in the reward function: This uses the transcoder's total stake earningsPool.totalStake and the total active stake currentRoundTotalActiveStake to...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•21 views

Missed approving to UniswapV2Router

Lines of code Vulnerability details Impact The contract should have already granted an allowance of at least minamountOfWeth for the input token. This step is missing during the UniswapV2Router call within the lowerDepeg function. // @audit msg.sender should have already given the router an...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•26 views

totalWethDelegated does not decrease in withdraw can cause DOS

Lines of code Vulnerability details Impact The accounting for total weth delegated increases when adding, but not withdrawing. This allows anyone to inflate this value by repeatedly adding and withdrawing. This again will cause DOS of the bonding mechanism. Proof of Concept RdpxV2Core.addToDelega...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•33 views

Unprotected initialize functions can front-run by MEV or by an Attacker

Lines of code Vulnerability details Vulnerability Detail It should be avoided that the implementation of proxy contracts can be initialized by third parties. This can be the case if the initialize function is unprotected. Since the implementation contract is not meant to be used directly without ...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•28 views

You can front-run to enrich yourself

Lines of code Vulnerability details Impact An attacker can use flash loan and withdraw significant part of funding intended for collateral providers. Proof of Concept Let's consider code snippet from deposit: requireshares = previewDepositassets != 0, "ZEROSHARES";...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•17 views

Attacker can steal funding yield from the PerpetualAtlanticVaultLP contract atomically

Lines of code Vulnerability details Impact An attacker is able to atomically steal large amounts of the funding yield from the PerpetualAtlanticVaultLP contract. This is due to the fact that the deposit function of the PerpetualAtlanticVaultLP contract will first issue the attacker shares based o...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•20 views

DOS the system by frontrunning the initialize function

Lines of code Vulnerability details Impact LivepeerGovernor and Treasury are vulnerable to DOS. Proof of Concept The initialize function present in these two contracts is not called just after their construction. Which is confirmed in the contract LivepeerGovernorUpgradeMock.sol while initializin...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•22 views

wrong sets of weth/dpxEth balance leads to incorrect calculation

Lines of code Vulnerability details impact In the curveSwap function, there is a crucial condition check to determine the values of a and b. If coin0 is equal to weth, the values should be set as 0, 1 or a, b. If not, they should be set as b, a. However, there is a discrepancy in the way these...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•24 views

Swap Slippage Check Missing Location: reLP function

Lines of code Vulnerability details Impact If the swap doesn't meet the slippage tolerance, the function will still continue executing. This could lead to the contract holding less tokenA than expected, which could affect the subsequent addLiquidity call and the final balances of the AMO and...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•27 views

Array Mismatch in RdpxV2Core.sol

Lines of code Vulnerability details Impact reserveTokens and reserveAsset are not synced because reserveTokens was not initialized in the constructor. Proof of Concept The RdpxV2Core.sol contract stores the reserve token information and also uses another array to only track the reserve token...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•14 views

The function does not restrict who can call it beyond the check for the delegator's status

Lines of code Vulnerability details Impact Access Control: The function does not restrict who can call it beyond the check for the delegator's status i.e., it must be Bonded. If there are additional constraints on who should be able to call this function e.g., only the original delegator, those...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/09/06 12:00 a.m.•41 views

[H-01] GovernorCountingOverridable.castVoteBySig()/castVoteWithReasonAndParamsBySig(): Possible signature replay attacks to influence proposal execution

Lines of code Vulnerability details Impact In the GovernorCountingOverridable.sol inherited by LivePeerGovernor.sol, users can provide a signature to allow someone else to vote on their behalf using the castVoteBySig/castVoteWithReasonAndParamsBySig function since this functions are not overriden...

6.8AI score
SaveExploits0
Total number of security vulnerabilities10190