Lucene search
+L
Code423n4Recent

10190 matches found

Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข30 views

Recipient address is not appropriately validated or sanitized in the BaseFeeVault contract (loss of funds)

Lines of code Vulnerability details Impact If the recipient address is not properly validated, an attacker could supply a malicious address as the recipient. This could result in the accumulated fees being sent to an unintended or unauthorized party. It could lead to financial loss or disruption ...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข42 views

Technically the seven days period is not guaranteed and it's possible for the challenger to delete a withdrawal even if it hasn't been challenged during the seven days

Lines of code Vulnerability details Proof of Concept There's an existing logic to prevent the CHALLENGER from deleting a l2Output after the finalization period has ended. This is done to prevent having user withdrawals blocked after the finalization period has elapsed without challenges. The...

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

Both consensus layer rewards and "32 bonded ETH" will be distributed via ValidatorWithdrawalVault.distributeRewards() as rewards

Lines of code Vulnerability details Impact totalRewards can be a value than staderConfig.getRewardsThreshold in ValidatorWithdrawalVault.distributeRewards. As a result both ETH balances belonging to rewards and staked ETH will be distributed. Proof of Concept Both consensus layer rewards and "32...

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

Challenger can change the output root or delete output root arbitrarily to authorize invalid withdrawal or block withdrawal infinitely

Lines of code Vulnerability details Impact Challenger can change the output root or delete output root arbitrarily Proof of Concept In the OptimismPortal.sol, when prove and finalize the transaction the output root needs to be verificated // Grab the OutputProposal from the L2OutputOracle, will...

6.7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข39 views

NodeOperator will steal other NodeOperators' validators through frontrunning

Lines of code Vulnerability details Impact People that want to earn staking rewards, but do not have the resources to run validators, will see Stader as an avenue where they can easily steal and use others validators and they will actually earn Operator rewards from Stader. This could lead to two...

6.7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข62 views

Attacker can steal CrossDomainMessenger and OptimismPortal token balances or tokens of anyone give approval for those contracts

Lines of code Vulnerability details Impact Contracts CrossDomainMessenger and OptimismPortal are part of the bridge protocol and they are responsible for sending messages between two network. they both call arbitrary address with arbitrary data that user specified and it would give attacker to...

7.1AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข23 views

Manager and DEFAULT_ADMIN_ROLE can create a scenario where user deposits more than he is permitted to withdraw

Lines of code Vulnerability details Impact manager and DEFAULTADMINROLE can update conflicting values as max deposit limit and max withdrawal limit, where maxDepositAmount is than maxWithdrawAmount. Users will be able to deposit more than they are permitted to withdraw. considering the extremes i...

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

The claim() function has a reentrancy vulnerability

Lines of code Vulnerability details Impact The claim function has a reentrancy vulnerability . In the function, the UtilLib.sendValue function is called before emitting the Claimed event. This violates the "check-effect-interaction" model, which is a best practice for secure smart contract...

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

Anyone Can selfdestruct The VaultProxy Contract.

Lines of code Vulnerability details Vulnerability Details -Since the initialise function is missing initializer modifier as it's inteded to be not protected as per ETHx smart contract functions documentation , And Since VaultFactory contract doesn't initialize the VaultProxy upon its initializati...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข26 views

Problem with ValiodatorStatus.INITIALIZED

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. The default value for Enums in solidity are always the first parameters in them. In the ValidatorStatus Enum however, INITIALIZED is the first value and therefore the default value of the ValidatorStatu...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข34 views

Users who stake at the end of a freeze would get rewards as if they've staked before the freeze

Lines of code Vulnerability details This one was reported in the first contest, it was mitigated but a code change that was made since then brings it back again. Impact Users who stake while frozen would get a share of the rewards for the period since the last call to payoutRewards. This means th...

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

Missing Return Statement in the poolAllocationForExcessETHDeposit function

Lines of code contracts/PoolSelector.solL76-L111 Vulnerability details Impact The poolAllocationForExcessETHDeposituint256 excessETHAmount function is declared to return two arrays, but it does not contain a return statement. As a result, this function will always return two empty arrays regardle...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข13 views

The incorrect check implemented in the UserWithdrawalManager undermines the effectiveness of the timelock for claiming ETH

Lines of code Vulnerability details high Title: The incorrect check implemented in the UserWithdrawalManager undermines the effectiveness of the timelock for claiming ETH. Links: Impact Any malicious users can bypass the timelock mechanism for claiming ETH. The issue lies in the claim function,...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข175 views

Chainlink's latestRoundData might return stale or incorrect results

Lines of code Vulnerability details Impact The getPORFeedData function in the contract StaderOracle.sol fetches the asset price from a Chainlink aggregator using the latestRoundData function. However, there are no checks on roundID, resulting in stale prices. The oracle wrapper calls out to a...

6.6AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข20 views

Using transferFrom on ERC20 tokens transfer

Lines of code Vulnerability details Impact The transferFrom method is used instead of safeTransferFrom which is not recommended. OpenZeppelinโ€™s documentation discourages the use of transferFrom, use safeTransferFrom whenever possible Some tokens do not implement the ERC20 standard properly but ar...

7.1AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข21 views

User with large stacked ETH can deny other stacker from withdrawing.

Lines of code Vulnerability details Description The withdraw flow of Stader splitted in two steps, first the user has to requestWithdraw by passing his owned ETHx amount which add a new record to userWithdrawRequestsnextRequestId, second, finalizeUserWithdrawalRequest got called by any user to...

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

Oracle data is not sufficiently validated

Lines of code Vulnerability details Impact The retrieved price from the oracle can be stale value or outdated and used anyways as a valid data. The usage of such data can impact on how the further logics of that price are implemented. Proof of Concept File: StaderOracle.sol function getPORFeedDat...

6.7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข24 views

cancelUnstake lack payoutRewards before mint shares

Lines of code Vulnerability details cancelUnstake will cancel the withdrawal request in the queue can mint shares as the current stakeRate. But it doesn't payoutRewards before mintStakes. Therefor it will mint stRsr as a lower rate, which means it will get more rsr. Impact Withdrawers in the...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข43 views

Unauthorized Access and Control in Proxy Contract

Lines of code Vulnerability details Summary: The code contains a bug that can lead to unauthorized access and control over the contract. This bug allows any caller, even those who are not the owner or address0, to bypass the intended access control mechanisms and execute arbitrary code on the...

8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข200 views

Underpaying Optimism l2gas(_minGasLimit) may lead to loss of funds

Lines of code Vulnerability details Impact The contract L1StandardBridge.sol is susceptible to a vulnerability where underpaying the l2Gashere in all contract, it used as "minGasLimit" value provided by users can result in a potential loss of funds. This vulnerability exists in the depositERC20 a...

6.6AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข34 views

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

Lines of code Vulnerability details Impact Having a single EOA as the only owner of contracts is a large centralization risk and a single point of failure. A single private key may be taken in a hack, or the sole holder of the key may become unable to retrieve the key when necessary. Similar...

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

stake before unfreeze can take away most of rsr rewards in the freeze period

Lines of code Vulnerability details If the system is frozen, the only allowed operation is stRST.stake. And the payoutRewards is not called during freeze period: if !main.frozen payoutRewards; function payoutRewards external requireNotFrozen; payoutRewards; So the payoutLastPaid stays before the...

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

Incorrect Handling of Return Value in onlyWhenNotPaused Modifier

Lines of code Vulnerability details Description: contract named "L1ChugSplashProxy" which is a proxy contract with additional functionality for code and storage modification. However, there is a bug in the code that needs to be addressed. Bug: The bug is in the modifier onlyWhenNotPaused function...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข29 views

sell reward rTokens at low price because of skiping furnace.melt

Lines of code Vulnerability details Impact The reward rToken sent to RevenueTrader will be sold at a low price. RSR stakers will lose some of their profits. Proof of Concept RevenueTraderP1.manageToken function is used to launch auctions for any erc20 tokens sent to it. For the RevenueTrader of t...

7.1AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข19 views

accountsMap[ADMIN] not set in initialize function of StaderConfig contract

Lines of code Vulnerability details Impact When initializing the StaderConfig contract with the initialize function, the admin address is not set in accountsMapADMIN variable, so the getAdmin function will return address0. This will cause the loss of the ownership of the VaultProxy contract as it...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข15 views

There is no check to see if eth was successfully sent from PermissionlessNodeRegistry to StaderInsuranceFund.

Lines of code Vulnerability details Impact Eth may not complete successfully. As a result, StaderInsuranceFund will not receive collateral. Tools Used Manual audit Recommended Mitigation Steps Add to StaderInsuranceFund.depositFund function: ifmsg.value == 0 revert Error Assessed type ETH-Transfe...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/09 12:00 a.m.โ€ข89 views

The _poolId and _id values are not within the expected range and not performing appropriate bounds checking in the VAULTPROXY contract

Lines of code Vulnerability details Impact When the poolId and id values are not within the expected range and appropriate bounds checking is not performed in the contract, it can result in high risk and vulnerabilities. Here are some potential risks and vulnerabilities that can arise: 1. Invalid...

7.6AI 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/08 12:00 a.m.โ€ข18 views

Attacker can disable basket during un-registration, which can cause an unnecessary trade in some cases

Lines of code Vulnerability details At the mitigation contest there was an issue regarding the basketHandler.quantity call at the unregistration process taking up all gas. As a mitigation to that issue the devs set aside some gas and use the remaining to do that call. This opens up to a new kind ...

7.2AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข27 views

Upgraded Q -> 2 from #240 [1686228552856]

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

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข26 views

The owner is a single point of failure and a centralization risk (06 Instances)

Lines of code Vulnerability details Impact Having a single EOA as the only owner of contracts is a large centralization risk and a single point of failure. A single private key may be taken in a hack, or the sole holder of the key may become unable to retrieve the key when necessary. Tools Used...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข16 views

cancelUnstake() doesn't payout rewards first

Lines of code Vulnerability details The new cancelUnstake function allows users to cancel their unstaking, by taking the user's drafts and minting it again. However, since the payoutRewards isn't being called this means that the user would get rewards for the period between the last time...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข18 views

An oracle deprecation might lead the protocol to sell assets for a low price

Lines of code Vulnerability details During a Dutch Auction, if a user places a bid, the trade is settled in the same transaction. As part of this process, the backing manager tries to call the rebalance function again. The call to rebalance is wrapped in a try-catch block, if an error occurs and...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข23 views

Pausing Optimism Portal only pauses withdrawals, can result in locked or lost funds

Lines of code Vulnerability details The comment over OptimismPortal.pause indicates pause should affect both deposits and withdrawls. Currently, only finalizeWithdrawalTransaction and proveWithdrawlTransaction implement the whenNotPaused modifier. Both depositTransaction and donateETH do not...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข15 views

Custom redemption might revert if old assets were unregistered

Lines of code Vulnerability details quoteCustomRedemption works under the assumption that the maximum size of the erc20sAll should be assetRegistry.size, however there can be cases where an asset was unregistered but still exists in an old basket, making the size of the old basket greater than...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข26 views

Upgraded Q -> 2 from #240 [1686228586164]

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

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข29 views

Use of wrong Library file directory

Lines of code Vulnerability details Impact Importing the wrong library file path in the Vault Factory contract can pose several risks: Functionality Issues: If you import the wrong library, the functions and features you expect to use may not be available or may behave differently. This can lead ...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข27 views

Upgraded Q -> 3 from #240 [1686228527253]

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

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข10 views

Custom redemption can be used to get more than RToken value, when an upwards depeg occurs

Lines of code Vulnerability details Custom redemption allows to redeem RToken in exchange of a mix of previous baskets as long as it's not more than the prorata share of the redeemer. The assumption is that previous baskets aren't worth more than the target value of the basket. However, a previou...

6.7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/08 12:00 a.m.โ€ข20 views

Upgraded Q -> 2 from #28 [1686212158430]

Judge has assessed an item in Issue 28 as 2 risk. The relevant finding follows: L-9 Griefer can DoS lender NFT withdrawals --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/07 12:00 a.m.โ€ข20 views

Withdrawal with gas limit more than 28_750_517 can never be executed with CrossDomainMessenger

Lines of code Vulnerability details Impact Withdrawal with gas limit more than 28750517 can never be executed with CrossDomainMessenger. User that will initiate such withdrawal will loose his funds and will not be able to execute the withdrawal, because of reaching maximum block gas limit. Proof ...

7.1AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/07 12:00 a.m.โ€ข23 views

Upgraded Q -> 2 from #48 [1686129354989]

Judge has assessed an item in Issue 48 as 2 risk. The relevant finding follows: CALLING transfer FUNCTION TO SEND ETH CAN REVERT --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/07 12:00 a.m.โ€ข15 views

A new era might be triggered despite a significant value being held in the previous era

Lines of code Vulnerability details When RSR seizure occurs the staking and drafting rate is adjusted accordingly, if any of those rates is above some threshold then a new era begins draft or staking era accordingly, wiping out all of the holdings of the current era. The assumption is that if the...

6.8AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/06 12:00 a.m.โ€ข27 views

Upgraded Q -> 2 from #23 [1686021624118]

Judge has assessed an item in Issue 23 as 2 risk. The relevant finding follows: rageQuit cannot transfer ERC1155 fungible tokens --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/05 12:00 a.m.โ€ข23 views

[M-01] Unprotected function in Constructor

Lines of code Vulnerability details Impact anyone can deploy the contract, potentially with malicious intent. Proof of Concept The constructor is not protected by any access control mechanism. Recommended Mitigation Steps Add access control to the constructor, such as an Ownable pattern, to ensur...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/05 12:00 a.m.โ€ข16 views

Upgraded Q -> 2 from #17 [1685982856814]

Judge has assessed an item in Issue 17 as 2 risk. The relevant finding follows: Ragequit can be frontrun by distribute call to cause losses to user who is ragequitting --- The text was updated successfully, but these errors were encountered: All reactions...

6.9AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/05 12:00 a.m.โ€ข20 views

Loss of user funds due to gas Limit set to zero on L2StandardBridge

Lines of code Vulnerability details Impact User loss of funds in the event a deposit fails. Proof of Concept In L2StandardBridge.finalizeDeposit, there exists an issue related to the gas limit setting. In the event of a failed transfer, it attempts to create a return transaction to refund the use...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/05 12:00 a.m.โ€ข75 views

onlyEOA modifier can be bypassed and leads to loss of user funds(Openzeppelin removed isContract function check)

Lines of code Vulnerability details Impact The onlyEOA modifier is extensively used in L1 as well as L2 smart contracts. It is designed to restict certain operations to Externally Owned accountEOA. However, the vulnerability exist that may allow the malicious contract to bypass this restriction...

7.2AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/05 12:00 a.m.โ€ข22 views

Upgraded Q -> 2 from #9 [1685982867794]

Judge has assessed an item in Issue 9 as 2 risk. The relevant finding follows: Users might lose funds after calling rageQuit by malicious frontrunners. --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
โ€ขadded 2023/06/05 12:00 a.m.โ€ข20 views

[M-02] Not having Self-Destruct Functions

Lines of code Vulnerability details Impact The contract does not have a self-destruct function, making it impossible to remove the contract from the blockchain once it's deployed. Recommended Mitigation Steps add a self-destruct function with proper access control to allow the contract to be...

6.8AI score
SaveExploits0
Total number of security vulnerabilities10190