Lucene search
+L
Code423n4Recent

10190 matches found

Code423n4
Code423n4
•added 2023/06/09 12:0 a.m.•14 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:0 a.m.•14 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:0 a.m.•17 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:0 a.m.•14 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:0 a.m.•17 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:0 a.m.•15 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:0 a.m.•13 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:0 a.m.•9 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:0 a.m.•23 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:0 a.m.•6 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:0 a.m.•22 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:0 a.m.•11 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:0 a.m.•24 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:0 a.m.•13 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:0 a.m.•14 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:0 a.m.•18 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:0 a.m.•8 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:0 a.m.•11 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:0 a.m.•45 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:0 a.m.•15 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:0 a.m.•148 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:0 a.m.•13 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:0 a.m.•28 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:0 a.m.•10 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:0 a.m.•15 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:0 a.m.•17 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:0 a.m.•8 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:0 a.m.•23 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/08 12:0 a.m.•15 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:0 a.m.•8 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:0 a.m.•4 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:0 a.m.•16 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:0 a.m.•18 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:0 a.m.•13 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/08 12:0 a.m.•8 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:0 a.m.•16 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:0 a.m.•14 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:0 a.m.•10 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:0 a.m.•17 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:0 a.m.•8 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/07 12:0 a.m.•13 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:0 a.m.•11 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/07 12:0 a.m.•11 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/06 12:0 a.m.•14 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:0 a.m.•14 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
Code423n4
Code423n4
•added 2023/06/05 12:0 a.m.•12 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:0 a.m.•63 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:0 a.m.•11 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:0 a.m.•15 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:0 a.m.•17 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
Total number of security vulnerabilities10190