Lucene search
K
Code423n4Recent

10190 matches found

Code423n4
Code423n4
•added 2023/09/07 12:0 a.m.•5 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.•12 views

Rounding in the unwrap function in rUSDY may cause fund loss for users.

Lines of code Vulnerability details Impact Rouding with BPSDENOMINATOR in function unwrap in rUSDY.sol may cause users to be transfered back less than expected USDY. POC The rUSDY.sol contract provides a way to wrap an amount of USDY as shares in order to gain profit in rUSDY. This is done throug...

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

Loss of token if a smart contract perform a cross-chain transfer using source bridge

Lines of code Vulnerability details Impact Loss of a token ownership if a smart contract perform a cross-chain transfer using source bridge Proof of Concept When a caller call burnAndCallAxelar, the token is burnt on source chain and the payload is encoded in this way: bytes memory payload =...

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

abi.encode() function does not support dynamic arrays in Solidity version 0.8.16 or earlier.

Lines of code Vulnerability details Description The bug is in the burnAndCallAxelar function. The function uses the abi.encode function to encode the payload to send to the AxelarGateway contract. However, the abi.encode function was changed in Solidity version 0.8.17 to remove the support for...

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

_execute can be reorder a batch of commands while executing

Lines of code Vulnerability details Impact Lets see what is written in by Axelar: AxelarGatewayMultisig.execute takes a signed batch of commands. Each command has a corresponding commandID. This is guaranteed to be unique from the Axelar network. execute intentionally allows retrying a commandID ...

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

Updating closed ranges with overrideRange() causes incorrect prevRangeClosePrice.

Lines of code Vulnerability details Impact Incorrect starting prices for ranges Incorrect historical price derivations Loss of accurate price data history Proof of Concept updating closed ranges with overrideRange can cause an incorrect prevRangeClosePrice value. Here is a more detailed...

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

Minted Shares would be Inflate Shares by 10000 due to Math Error in the wrap function

Lines of code Vulnerability details Impact BPSDENOMINATOR in the rUSDY.sol contract is an important variable used to scale up usdy amount - shares as noted in it comment description but it is only used to scale up when minting shares but not scaled down before subtracting it from total shares and...

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

guardian multisig should be timelock

Lines of code Vulnerability details Impact Per the rUSDYFactory.sol, The Natspec states the guardian address is a multsig address which will be passed in constructor during deployement of factory contract. @notice guardian address in constructor is a msig. and constructoraddress guardian guardian...

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

M-08 Unmitigated

Lines of code Vulnerability details The original issue M-08: Return value of low level call not checked, in scope for the mitigation review, was not acted upon, most likely overlooked during the fixing phase. Assessed type call/delegatecall --- The text was updated successfully, but these errors...

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

Transaction origin check in ROE Markets make Options positions opened by contract users impossible to reduce or close

Lines of code Vulnerability details This issue was present in the original contest but I did not notice it as I did not have time to review OptionsPositionManager. The Roe Markets LendingPool.sol that OptionsPositionManager uses is a modified version of Aave V2 with an added PMTransfer...

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

Potential Out of Bound Error When Accessing Range Array

Lines of code Vulnerability details The code seems to be attempting to access an element of the 'ranges' array using an index calculated from the array's length minus one. However, during the deployment or initialization of the contract, if the length of 'ranges' is 1, this calculation results in...

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

Zero Redemption Amount in RdpxDecayingBonds Contract

Lines of code Vulnerability details Impact The redeem function, as described, checks whether the assets to be redeemed assets are not zero. This check is in place to ensure that a user isn't redeeming a non-zero amount of rdpxAmount tokens in exchange for zero assets. Such a check is essential to...

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

Attacker can DOS the ability of the protocol to exercise their options

Lines of code Vulnerability details Impact When an option is ITM, the admin can call the settle function of the RdpxV2Core contract, which will call the settle function of the PerpetualAtlanticVault contract. This function checks that the WETH balance of the PerpetualAtlanticVaultLP contract is...

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

underflow can happens after delegator vote and block vote counting

Lines of code Vulnerability details Impact underflow can happens after delegator vote and block vote counting Proof of Concept In the current implementation, when a voting, the function countVote is triggered, this function is overriden in the function GovernorCountingOverridable.sol weight =...

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

Incorrect price precision in RdpxV2Core

Lines of code Vulnerability details Impact The core contract expects the price oracle to return 1e8 precision, but its actually 1e18. This will cause heavily incorrect results from all usages of the price. Proof of Concept The RdpxV2Core.getRdpxPrice function is meant to return 1e8 precision:...

7AI 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.•18 views

Deployment issues with chains not compatible with Shanghai hardfork

Lines of code Vulnerability details Impact Besides issues with deployment &maintenance contracts; A Big Issues is quoted below from an audit finding... "This could also become a problem if different versions of Solidity are used to compile contracts for different chains. The differences in byteco...

6.8AI 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.•10 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.•6 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.•7 views

Lack of Checks for 'msg.sender': The function checks whether msg.sender is _owner or l2Migrator() but doesn't specify who should normally be calling this function.

Lines of code Vulnerability details Impact In the bondForWithHint function, there is a segment of code that checks if msg.sender is owner or l2Migrator, but the function does not explicitly state which role or account should be the normal caller. This could be a potential security issue, as faili...

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

Bond Redemption is lower than intended

Lines of code Vulnerability details Impact Bonds redemption does not correspond to protocol intention leading to lesser ETH redeemed Proof of Concept Once the bond reaches maturity and the user initiates the redemption process by calling "redeem," it's possible for the user to receive a gain that...

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

Lack of Input Validation and Error Handling

Lines of code Vulnerability details Impact In the slashTranscoder function, the parameters slashAmount and finderFee are directly used for computation without any validity checks. This design overlooks several key issues: There's no check to see if slashAmount or finderFee are within logical...

6.8AI score
Exploits0
Code423n4
Code423n4
•added 2023/09/06 12:0 a.m.•8 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.•15 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
Exploits0
Code423n4
Code423n4
•added 2023/09/06 12:0 a.m.•7 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
Exploits0
Code423n4
Code423n4
•added 2023/09/06 12:0 a.m.•6 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.•8 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
Exploits0
Code423n4
Code423n4
•added 2023/09/06 12:0 a.m.•10 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.•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
Total number of security vulnerabilities10190