Lucene search
+L
Code423n4Recent

10190 matches found

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

[ H ] In executeAction function, ETH can remain stuck after reverting due to a failed call.

Lines of code Vulnerability details Impact If and when the executeAction function reverts at either of the checks, the amount of ETH sent along with the call will be locked in the contract forever, with no current measures of recovery. Proof of Concept executeAction is called, but the call fails ...

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

[ H ] No Validation checks for "v" signature in castApprovalBySig

Lines of code Vulnerability details Impact V must correspond according to ECDSA principles values of either 27 or 28. Not checking this will result in an attacker crafting a malicious v value and bypassing any checks, withdrawing funds or accessing the function maliciously. Proof of Concept Craft...

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

Inconsistent Use of Error Handling in LlamaAccount Contract

Lines of code Vulnerability details Description: The LlamaAccount contract contains a bug that allows an attacker to execute arbitrary calls with the delegatecall opcode, which can lead to unintended consequences and potential security vulnerabilities. Steps to Reproduce: Deploy the LlamaAccount...

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

Llama Core and Policy implementation not only minimal proxy should not be allowed to be authorized as scripts

Lines of code Vulnerability details Impact authorizeScript function will be used to authorize any contract to be delegatecalled by executor's context. To be qualified as script, it should not access storage but immutable storage, because script's storage layout can be overlapped each other. I...

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

LlamaAccount can be tricked to selfdestruct with an upgradable contract

Lines of code Vulnerability details Impact The LlamaAccount contract will be destroyed and all the assets can be lost. Proof of Concept In execute, we use readSlot0 to prevent a malicious or buggy target from taking ownership of this contract. But the malicious target can send all the assets and...

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

The initial total supply of the role can be miscalculated in some cases

Lines of code Vulnerability details Impact Due to miscalculations during LlamaPolicy contract deployment the initial supply of the role can be set wrongly. And most of strategies will not work as intended. Moreover users will not be able to start an Action for some strategies as well. Proof of...

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

Cross contract reentrancy attack through changing the xDomainMsgSender

Lines of code Vulnerability details Impact The use of the guaranteed safe CrossDomainMessenger for withdrawals can result in permanent blockages when the recipient address interacts with external addresses, which is an important feature for interoperability and is expected to be widely utilized...

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

Lack of reentrancy protection in L1ERC721Bridge.sol

Lines of code Vulnerability details Summary Calling IERC721.transferFrom in the L1ERC721Bridge.initiateBridgeERC721 after writing the deposit makes a reentrancy attack possible if there is a callback before transfer in the localToken contract we will name such a contract ERC721Callback...

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

No stale data check on data being read from POR feed

Lines of code Vulnerability details Impact Stale data of exchange rate data being used protocol, resulting in loss in terms of ETHX being minted at stale exchange rate which won't have accounted for new reward Recommended Mitigation Steps Check lastUpdatedAt timestamp and that it is within...

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

Centralization risk for trusted owners

Lines of code Vulnerability details Description: Contracts have owners that have privileged rights to perform admin tasks. These owners need to be trusted to not perform malicious updates or drain funds. Having a single Externally Owned Account EOA as the sole owner represents a significant...

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

LES (Light Ethereum Subprotocol) doesn't forward the transaction to the sequencer

Lines of code Vulnerability details Impact LES Light Ethereum Subprotocol doesn't forward the transaction to the sequencer when receiving it over RPC. Proof of Concept When a user submits a transaction to op-geth node validator/verfier mode, the node sends the transaction to the sequencer, if no...

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

EVENT EMITTED WITHOUT ACTION

Lines of code Vulnerability details Impact A malicious validator can remain in the system after exceeding it's exit penalty threshold. This poses a risk to users and a possible reputation risk to the protocol. Proof of Concept In the updateTotalPenaltyAmount... function, when the validators...

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

Insecure State settleFunds function, state update

Lines of code Vulnerability details Impact The impact of this finding is that an unauthorized party can manipulate the state of the vaultSettleStatus variable before executing critical operations related to penalty marking, fund distribution, and reward deposits. This can potentially disrupt the...

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

Lack of Access Control

Lines of code Vulnerability details Impact The contract does not enforce proper access control mechanisms for critical functions such as deployWithdrawVault, deployNodeELRewardVault, updateStaderConfig, and updateVaultProxyAddress. As a result, any address can call these functions and potentially...

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

Individual nodes can manipluate sdPriceInETH to be any value inside StaderOracle#submitSDPrice

Lines of code Vulnerability details Trusted nodes can submit their attested ethereum price by calling StaderOraclesubmitSDPrice. Once a 66% majority of nodes submit a price for a specific block number, the new sdPriceData will be set to the median of the submitted prices. function...

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

getPORFeedData() doesn't validate price feed answers (totalETHBalanceInInt and totalETHXSupplyInInt) before casting to uint256

Lines of code Vulnerability details Impact If a negative value is returned 0 from chainlink oracle and the value is cast to type uint256, the resulting value will be the unsigned representation of that value which will be an inaccurate price. Also, cases where sdprice can't be less than 0 will...

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

Legacy version check should be removed to avoid double relaying message in CrossDomainMessager.sol

Lines of code Vulnerability details Impact Legacy version check should be removed to avoid double relaying message Proof of Concept In Optimism bedrock implementation, to handle the pre-bedrock migration, there is code check to make sure the transaction that finalized and relayed in pre-bedrock...

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

Lack of expiration time for cross-chain message passing

Lines of code Vulnerability details Lack of expiration time for cross-chain message passing Summary Lack of expiration time for cross-chain message passing Vulnerability Detail In the current implementation, the L1CrossDomainMessagern.sol inherits from CrossDomainMessager.sol and...

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

Loss of airdropped Token or NFT in NFT Bridge

Lines of code Vulnerability details Impact Loss of airdropped Token or NFT in NFT Bridge and Token Bridge Proof of Concept Contract L1ERC721Bridge is for bridging NFTs from L1 to L2 and it holds all the bridged NFTs. Most of the NFT projects would airdrop new NFTs for previous owners or drop ERC2...

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

A trusted node has the ability to submit the ExchangeRate multiple times for a single reportingBlockNumber.

Lines of code Vulnerability details Impact In this code, a trusted node can submit data several times. The trusted node can submit ExchangeRateData and then it can submit different data again about same reportingBlockNumber. This will occur mess of staderOracle contract, so it will be needed to b...

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

When deploying a contract in PermissionlessNodeRegistry.deployNodeELRewardVault(), an attacker can find out in advance the address of the future deployed contract and deploy his own at this address

Lines of code Vulnerability details Impact The address of the new contract depends solely on the salt parameter, which is calculated from user-provided data. Once a user's create transaction is broadcast, the parameters for calculating salt can be viewed by anyone viewing the public mempool. This...

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

No way out of the loop if operator not active

Lines of code Vulnerability details Impact There is no way out of the loop if operator not active. do if !operatorStructByIdi.active continue; uint256 remainingCapacity = validatorPerOperatorGreaterThanZero ? remainingOperatorCapacityi : getOperatorQueuedValidatorCounti; uint256 newSelectedCapaci...

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

Problem with Day values

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. In solidity, block.timestamp makes use of seconds in calculating time but in the highlighted codes, the stated period and their comments was miscalculated. 7200 was referred to as 24 hours and was used...

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

VaultProxy implementation can be initialized by anyone and self-destructed

Lines of code Vulnerability details Impact When the VaultFactory contract is deployed and initialized, the initialise method on the newly created VaultProxy implementation contract is never called. As such, anyone can call that method and pass in whatever values they want as arguments. One...

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

VaultProxy can be selfdestructed using delegatecall

Lines of code Vulnerability details Impact Attacker can selfdestruct VaultProxy deployment. constructor //initialise the vault proxy with data function initialise bool isValidatorWithdrawalVault, uint8 poolId, uint256 id, address staderConfig external if isInitialized revert AlreadyInitialized;...

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

Aunction DOS

Lines of code Vulnerability details Impact All auction functions are under a potential DOS or exploitability vulnerability A 2 day duration is added to the current block.number when creating a lot. This introduces a critical flaw, Adding 2 86400correct value of 2 days / 27200wrong value used in...

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

depositERC20To() and withdrawTo() is missing onlyEOA() modifier - Leading to loss of user funds

Lines of code Vulnerability details Impact StandardBridge.sol contract has a modifier called onlyEOA. The comment says 132 / 133 @notice Only allow EOAs to call the functions. Note that this is not safe against contracts 134 calling code within their constructors, but also doesn't really matter...

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

Tokens can be lost when trying to deposit in SDCaollateral.depositSDAsCollateral() or trying to withdraw SDCaollateral.withdraw()

Lines of code Vulnerability details Impact Some tokens do not return the success of the token submission. Because Since we don’t know for sure how the SD token is implemented, we need to take this into account. Proof of Concept A detailed example is listed in: Tools Used Manual audit Recommended...

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

PoolSelector.computePoolAllocationForDeposit could return an unfair value.

Lines of code Vulnerability details Impact When calling StaderStakePoolsManager.validatorBatchDeposit, it calls PoolSelector.computePoolAllocationForDeposit to get the validator count to deposit for the pool. It calculates the count based on the capacity and the weight of the pool. However,...

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

The increaseTotalValidatorActiveCount in PermissionedPool incorrectly adds requiredValidators instead of validatorToDeposit

Lines of code Vulnerability details Impact When the Stader Stake Pools Manager calls stakeUserETHToBeacon chain, it does so calculating the requiredValidators that can be added to the pool. The function internally also uses the allocateValidatorsAndUpdaterOperatorId to compute each operator's...

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

Lack of Event Signature Verification

Lines of code Vulnerability details Impact The functions submitExchangeRateData, submitSDPrice, and submitValidatorStats emit events without verifying the signature of the calling contract. Malicious contracts can exploit this by emitting events with misleading information, potentially deceiving...

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

Potential Integer Overflow/Underflow

Lines of code Vulnerability details Impact The functions insertSDPrice and getMedianValue manipulate arrays of uint256 values without explicitly checking for integer overflow or underflow. If the array lengths or calculations exceed the maximum or minimum values of uint256, it can result in...

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

There is no check to see if eth was successfully sent from ValidatorWithdrawalVault to StaderStakePoolsManager.

Lines of code Vulnerability details Impact Eth may not complete successfully. As a result, the user will not receive their share from the validator. Tools Used Manual audit Recommended Mitigation Steps Add to StaderStakePoolManager.receiveWithdrawVaultUserShare function. ifmsg.value == 0 revert...

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

When deploying contracts in PermissionedNodeRegistry.deployWithdrawVault(), PermissionlessNodeRegistry.deployWithdrawVault(), an attacker can find out in advance the address of the future deployed contract and deploy his own at this address

Lines of code Vulnerability details Impact The address of the new contract depends solely on the salt parameter, which is calculated from user-provided data. Once a user's create transaction is broadcast, the parameters for calculating salt can be viewed by anyone viewing the public mempool. This...

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

Oracle timeout at rebalance will result in a sell-off of all RSRs at 0 price

Lines of code Vulnerability details When creating the trade for rebalance, the RecollateralizationLibP1.nextTradePair uses uint192 low, uint192 high = rsrAsset.price; // UoA/tok to get the rsr sell price. And the rsr assert is a pure Assert contract, which price function will just return 0, FIXMA...

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

The utilization of a hardcoded time value is incorrect when deployed to blockchains other than Ethereum

Lines of code Vulnerability details Medium Title: The utilization of a hardcoded time value is incorrect when deployed to blockchains other than Ethereum Impact The hardcoded value of the MINAUCTIONDURATION constant in the Auction contract becomes problematic when deploying the contracts on faste...

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

MISSING ACCESS CONTROL AND MISSING LOGICAL CHECKS IN PENALTY.sol

Lines of code Vulnerability details Impact In the penalty.sol contract anyone can call the markValidatorSettled... function to clear the penalty of an erring validator. Proof of Concept Anyone can clear the penalty of an erring validator without by calling markValidatorSettled... as the function...

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

Lack of claimRewards when manageToken in RevenueTrader

Lines of code Vulnerability details There is a dev comment in the Assert.sol: DEPRECATED: claimRewards will be removed from all assets and collateral plugins The claimRewards is moved to the TradingP1.claimRewards/claimRewardsSingle. But when the RevenueTraderP1 trade and distribute revenues by...

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

selfdestruct(self) does not clear balance

Lines of code Vulnerability details Impact Balance is stored in OVMETH contract, function opSuicide increments it, then Sucide does not change it, at the end of function it will be decremented. Which means it will not be changed. Proof of Concept // SPDX-License-Identifier: GPL-3.0 pragma solidit...

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

UNJUSTIFIED ZERO INDEX VALIDATION HINDERS INDEX VALUE OF 0

Lines of code Vulnerability details Impact SocializingPool.verifyProof currently incorporates a zero index check which blocks the entry of an index value of 0. While this check is designed to prevent the use of invalid index values, it inadvertently prohibits the valid index value of 0. This may...

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

Exchange rate is stale for deposit to calculate shares

Lines of code Vulnerability details Impact The attacker can take profit with the delayed exchange rate updating mechanism. He can deposit to the protocol to take a share of large mev reward generated by the protocol before the exchange rate update. Proof of Concept The getExchangeRate function is...

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

pause/unpause functionnalities not implemented in many pausable contracts

Lines of code Vulnerability details Impact The following contracts : SocializingPool, StaderOracle, OperatorRewardsCollector and Auction are supposed to be pausable as they all inherit from PausableUpgradeable but they don't implement the external pause/unpause functionalities which means it will...

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

ERC20 token bridge does not support token with different decimals

Lines of code Vulnerability details ERC20 token bridge does not support token with different decimals Summary ERC20 token bridge does not support token with different decimals Vulnerability Detail In the current implementation: User can perform ERC20 cross-chain transfer via token bridge. Let us...

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

A lot with a lots.sdAmount less than the bidIncrement cannot be bid on

Lines of code Vulnerability details M-01 A lot with a lots.sdAmount less than the bidIncrement cannot be bid on Impact Everyone can create a lot by calling Auction.createLot with any arbitrary amount they specify. However, creating a lot with a low sdAmount can result in two potential issues: Whe...

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

Stader OPERATOR is single point of failure

Lines of code Vulnerability details Impact The OPERATOR role holds a lot of power within the system, which can compromise the both the system integrity and it's permission-less nature. Proof of Concept The OPERATOR key is responsible for confirming marking each validator submitted key as either...

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

Adding Block.number to Block.timestamp

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. In the highlighted functions, the lastExcessETHDepositBlock is updated every time the function depositETHOverTargetWeight is called because it is set to the last block.number. If the function is called...

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

The owner is a single point of failure and a centralization risk.

Lines of code Vulnerability details Impact & Vunerability Details. Having a single EOA as the only owner of contracts is a large centralization risk and a single point of failure, as this contract's owner can perform roles of high importance to the protocol. A single private key may be taken in a...

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

Bug on e handling of excess ETH deposits

Lines of code Vulnerability details The StaderStakePoolsManager contract contains a critical bug that could lead to financial loss and system instability. The bug is related to the handling of excess ETH deposits and the calculation of available ETH for new deposits. Bug Description: In the...

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

The admin address used in initialize function, can behave maliciously

Lines of code Vulnerability details N.B : This bug is different that the other one titled "Risk of losing admin access if updateAdmin set with same current admin address". Both issues are related to access control, but the impact, root cause and bug fix are different, so DO NOT mark it as dupliat...

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

Risk of losing admin access if updateAdmin set with same current admin address

Lines of code Vulnerability details N.B : This bug is different that the other one titled "The admin address used in initialize function, can behave maliciously". Both issues are related to access control, but the impact, root cause and bug fix are different, so DO NOT mark it as dupliate of the...

7AI score
SaveExploits0
Total number of security vulnerabilities10190