Lucene search
K
Code423n4Recent

10190 matches found

Code423n4
Code423n4
added 2023/09/07 12:0 a.m.11 views

UniswapV3 trading fees are always locked in treasury instead of going back to the protocol users through GeVault

Lines of code Vulnerability details TokenisableRange was redesigned to redirect collected fees to a pre-defined GeVault, where the protocol stakers can benefit from the added value. However, the use of an incorrect variable makes this distribution of the fees impossible to happen, and the fees wi...

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

User will loss his funds forever if Threshold are not met .

Lines of code Vulnerability details Impact mintIfThresholdMet function is called from execute function while executing a bridging transaction . This function checks if thresholds are met and only mints token in the destination chain to the user if thresholds are met properly . However , the probl...

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

The rUSDY.transferFrom function can cause reentrancy if is a contract been approved

Lines of code Vulnerability details Impact The rUSDY.transferFrom function can cause reentrancy if is a contract been approved, the function looks like: function transferFrom address sender, address recipient, uint256 amount public returns bool uint256 currentAllowance = allowancessendermsg.sende...

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

Wrong tick selected by GeVault.getActiveTickIndex()

Lines of code Vulnerability details During mitigation of M-03, the function getActiveTickIndex has been completely rewritten. The new logic uses the following statement to identify the active ticker that represents the Uniswap V3 liquidity pool actively traded: if baseTokenIsToken0 && amt0 == 0 |...

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

Incorrect calculation of totalSupply(), balanceOf() in rUSDY.sol if the rate is unlinked from $1

Lines of code Vulnerability details Impact In rUSDY.sol, the functions totalSupply, balanceOf are calculated. totalSupply : function totalSupply public view returns uint256 return totalShares oracle.getPrice / 1e18 BPSDENOMINATOR; balanceOf : function balanceOfaddress account public view returns...

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

All the funds will be lost if the destination bridge is paused

Lines of code Vulnerability details Impact Destination bridge is pausable, so if for a chain a destination bridge is paused, all the funds being bridged from different source bridges from different chains will be lost. Proof of Concept Destination bridge inherits from the openzeppelin pausable.so...

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

A user with the BURNER_ROLE role should be able to burn rUSDY tokens from the balance of a blocked address

Lines of code Vulnerability details Impact There are functions for blocking users: setBlocklist - setAllowlist - setSanctionsList - Suppose the user has rUSDY tokens. Then it was added to the blocklist. His tokens will then be blocked. There is a burn function where you can burn rUSDY tokens from...

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

Insufficient Gas Fee Estimation Leading to Incomplete Transactions

Lines of code Vulnerability details The contract allows a user to send Ether, presumably for transaction fees or gas. However, there is no mechanism in place to verify that the msg.value is sufficient to cover the actual gas cost for contract execution. Consequently, a scenario could arise where...

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

Risk of Token Get Stuck in burnAndCallAxelar Function due to Use of Same Chain ID

Lines of code Vulnerability details Impact The burnAndCallAxelar function within the contract presents a potential risk where tokens can become stuck if the same chain ID is used for both the source and destination chains. In this scenario, tokens are burned from the user's account, and a...

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

Users can lost their USDY tokens in the Source Chain if something fails during the crosschain communication because there is not a validation mechanism to confirm that tokens were minted in the Destination Chain

Lines of code Vulnerability details Impact Users can lost their USDY tokens that were burnt in the Source Chain when bridging to another chain. Proof of Concept The bridging implementation solely relies and assumes that all messages sent to the Axelar Network will be validated and won't have any...

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

Every user's rUSDY balance can be changed suddenly by updating RWADynamicOracle.ranges before block.timestamp

Lines of code Vulnerability details Impact RWADynamicOracle.overrideRange and setRange can change the USDY price in rUSDY and the rUSDY balance in a tx. 1. Users cannot believe the rUSDY balance because ranges can be updated by an admin at any time. 2. When USDY price in rUSDY changes in a tx, a...

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

Lose due to rounding. Use more precise library for mathematical operations

Lines of code Vulnerability details Impact The mulDivDown function, assumed to be from FixedPointMathLib, is likely designed to multiply two numbers and then divide the result, rounding down any remainders. This rounding down can result in minor discrepancies when converting between assets and...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.12 views

getLpPriceInEth and getRdpxPriceInEth return prices in 1e18 decimals, but we use it as 1e8 decimals

Lines of code Vulnerability details Impact Wrong decimals/price if we use RdpxEthOracle.sol as the oracle. Proof of Concept rdpx/eth oracle is not in the scope of this audit, so we can assure they are correct and only check if we use the API right. According to...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.6 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.8 views

Underflow in updateTranscoderWithFees can cause corrupted data and loss of winning tickets.

Lines of code Vulnerability details Summary updateTranscoderWtihFees can underflow because MathUtils is used instead of PreciseMathUtils. Proof of Concept According to LIP-92 the initial treasuryRewardCutRate will be set to 10%. treasuryRewardCutRate is set with the...

6.6AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.10 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.5 views

Approve race condition when calling approveContractToSpend()

Lines of code Vulnerability details Impact Malicious allowance spenders will be able to spend more than the protocol intended. Proof of Concept When modifying the approved allowance of a spender address there is an issue with the spender address front-running the modification transaction and...

6.9AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.21 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.9 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.14 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.8 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.10 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.10 views

Fully slashed transcoder can vote with 0 weight messing up the voting calculations

Lines of code Vulnerability details Impact If a transcoder gets slashed fully he can still vote with 0 amount of weight making any other delegated user that wants to change his vote to subtract their weight amount from other delegators/transcoders. Proof of Concept In BondingManager.sol any...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.7 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.10 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.11 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.9 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.11 views

Slashing transcoders on violation should not effect the delegators who staked into such transcoders, delegators should continue to earn rewards

Lines of code Vulnerability details Impact Due to violation of norms, when a transcoder is slashed and force to resign, the delegators who provided stake into such transcoder should not be effected. They delegators should be able to continue earning the rewards as they delegated their tokens to...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.11 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.11 views

Attacker can DOS the sync function of RdpxV2Core which will brick critical functionality

Lines of code Vulnerability details Impact The sync function of the RdpxV2Core contract is critical for ensuring that the cached balances of the tokens in the contract are up to date. For example, all of the AMO logic involves sending tokens directly to the RdpxV2Core contract, meaning there's no...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.9 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.12 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.7 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.16 views

Calling withdraw on a delegated amount of WETH doesn't subtract from totalWethDelegated

Lines of code Vulnerability details Impact The contract's WETH amount gets permanently bricked. Proof of Concept A user can call addToDelegate and give WETH, that other people can use for bonding with their rDPX in exchange for a certain percentage appointed by the delegatee. Delegate memory...

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

The order of decreasing total stake for the old delegate and increasing for the new delegate could lead to issues if one reverts but not the other.

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. Proof of Concept The potential issue is: decreaseTotalStake succeeds in decreasing the old delegate's stake increaseTotalStake reverts and does not increase the new delegate's stake This would incorrect...

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

Zero Amount Check Missing in reLP function

Lines of code Vulnerability details Impact If amount is 0, the reLP function will still execute all its operations, including external contract calls, which consume gas. This could lead to unnecessary gas costs for the caller. In a worst-case scenario, if this function is called repeatedly with...

7.2AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.8 views

Incorrect usage of an uninitialized earnings pool if lastRewardRound >= currentRound.

Lines of code Vulnerability details Impact If lastRewardRound = currentRound, the earningsPool for currentRound may not be initialized if reward has not yet been called for currentRound. So using it to update cumulative rewards or fees could be incorrect. This can lead to incorrect reward...

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

Improperly tracking asset reserve for WETH

Lines of code Vulnerability details Impact Function RdpxV2Corewithdraw lets delegate owners withdraw their unused WETH. However, withdrawn amount is not deducted from totalWethDelegated, which causes WETH asset reserve tracked improperly. The impacts could be: 1. Function sync gets reverted when...

7AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.8 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.12 views

BondManager.updateTranscoderWithFees wrong decimal multiplication. Function always revert due to underflow

Lines of code Vulnerability details BondingManager.sol have 2 mathUtils libraries, MathUtils use 1e6 as precision while PreciseMathUtils use 1e27 as precision. Some variable use MathUtils while other use PreciseMathUtils which might cause confusion. It happen with treasuryRewardCutRate variable...

7.1AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.10 views

[M-01] Transcoder can front-run slasher to avoid getting slashed and continue voting

Lines of code Vulnerability details Impact In BondingManager.slashTranscoder, verifier can slash transcoderdelegator bonded amounts. However, this can be easily front runned via BondingManager.unbondWithHint by reducing bonded amount to avoid slashing via underflow and keep bonded position...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.7 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.9 views

Malicious actor can remove anyone's vote

Lines of code Vulnerability details Impact The GovernorCountingOverridable contract of the protocol is used to record the governance votes for different proposals and it allows the users to delegate their voting power to anyone. The handleVoteOverrides in the GovernorCountingOverridable contract...

6.7AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.10 views

Users can withdraw token multiple times by calling `withdrawStake' thereby depleting the treasury

Lines of code Vulnerability details The withdrawStake function is used to withdraw tokens for an unbounding lock that has existed through an unbounding period. All it needs is the unbondingLockId to carry out the operation. The associated ID gets deleted & the amount that has been bounded is...

6.7AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.12 views

A malicious delegator could artificially inflate the deductions for a transcoder, potentially leading to incorrect vote counting.

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. Proof of Concept In the handleVoteOverrides function, the deductions are added to the transcoder's voter state without any validation: A malicious delegator could call countVote multiple times, each tim...

6.8AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.7 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.8 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.8 views

lastFeeRound is only updated after adding fees and updating the cumulative fee factor. So when first calling updateTranscoderWithFees() in a new round, lastFeeRound will still be set to the previous round.

Lines of code Vulnerability details Impact This could lead to incorrect fee calculations for delegators when claiming fees or pending fees. First time earnings are calculated in the new round, they will use the old cumulative fee factor rather than starting from 0 as intended. This effectively pa...

6.7AI score
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.8 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
Exploits0
Code423n4
Code423n4
added 2023/09/06 12:0 a.m.9 views

Transfering Bonds would create confusion among delegators because of non-deletion of unbondingLocks & assigning all the new delegators the same unbounding id

Lines of code Vulnerability details transferBond function is used to transfers ownership of a bond to a new delegator using optional hints if needed. Here the old unbound lock is deleted after creating a new one in unbondWithHint function. But the problem lies in the delete operation as it does n...

6.7AI score
Exploits0
Total number of security vulnerabilities10190