Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
•added 2022/03/30 12:00 a.m.•25 views

Users can transfer tokens to themselves to set cooldowns to 0, and then increase the lock time of other users' tokens when transferring to other users

Lines of code Vulnerability details Impact In the beforeTokenTransfer function, cooldowns will be set to 0 when the user transfers all tokens to himself. function beforeTokenTransfer address from, address to, uint256 amount internal virtual override iffrom != address0 //check must be skipped on...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/30 12:00 a.m.•25 views

Owner can whitelist addresses for swaps and steal approved assets from users

Lines of code Vulnerability details Impact There is a common vulnerability with aggregator/bridge contracts where passing in arbitrary calldata can do unwanted actions such as steal tokens that were approved to that contract. While there is a whitelist system set up, there is no stopping a...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/24 12:00 a.m.•25 views

[WP-H7] CollateralToken.sol's COLLATERAL_BURNER_ROLE and COLLATERAL_MINTER_ROLE can rug users

Lines of code Vulnerability details In the current design/implementation, CollateralToken is minted and burned by COLLATERALMINTERROLE and COLLATERALBURNERROLE. Such roles can be granted by the owner of QuantConfig, which is the deployer of the QuantConfig. Once the attacker managed to acquire on...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/09 12:00 a.m.•25 views

bEth Rewards May Be Depleted By Flashloans or Whales

Lines of code Vulnerability details Impact Rewards are dispersed to users as a percentage of the user's balance vs total balance of bEth. Rewards are accumulated each time a user calls executedecreasebalance, executeincreasebalance or executeclaimrewards as these functions will in term call...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/08 12:00 a.m.•25 views

Rewards can be stolen from contract

Lines of code Vulnerability details It was observed that executeclaimrewards/executedecreasebalance/executeincreasebalance are missing to update the global index before calculating user rewards in anchorbassetreward contract This can lead to serious consequences: 1. executeincreasebalance functio...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/03/03 12:00 a.m.•25 views

Nodes can drain SKALE chain owners' wallets

Lines of code Vulnerability details The contest code does a good job of preventing users from withdrawing too quickly or attempting to do things without funds for gas. The nodes themselves however are not as well-secured. Impact By monitoring the values of headerMessageGasCost and messageGasCost...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/23 12:00 a.m.•25 views

Assets sent from MarginAccount to InsuranceFund will be locked forever

Lines of code Vulnerability details Impact Assets sent from MarginAccount to InsuranceFund will be locked forever Proof of Concept The insurance fund doesn't have a way to transfer non-vusd out of the contract. Assets transferred to the InsuranceFund will be locked forever. Mitigation Have a way...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/23 12:00 a.m.•25 views

VUSD.processWithdrawals() Can Be Filled With Empty Withdrawals

Lines of code Vulnerability details Impact The processWithdrawals function intends to allow for users to finalise their withdrawal in a canonical fashion. By enforcing the order of withdrawals, the protocol can ensure that users are paid out fairly. However, because the function only allows for...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/02/17 12:00 a.m.•25 views

Manipulations of setFee

Lines of code Vulnerability details Impact If we consider that the fee variable is meaningfully applied, there will still be several problems with this: 1. Admin can setFee up to 100%. This is bad for users, fees should have a reasonable upper limit, e.g. 30% to prevent potential griefing. 2...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/30 12:00 a.m.•25 views

latestRoundData data may be stale

Handle sirhashalot Vulnerability details Impact The Chainlink latestRoundData function is used in Cvx3CrvOracle.sol, but it is used without checking whether the data returns from the oracle is stale or not. Chainlink warns about this issue and describes how to check for it: Proof of Concept From...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/30 12:00 a.m.•25 views

Attacker can steal part of the rewards if one of the extraRewards is rewarded with Convex Token

Handle WatchPug Vulnerability details Given that ConvexYieldWrapper.solwrap allows anyone to wrap with the contract's balance of convexToken to an arbitrary address. function wrapaddress to, address from external require!isShutdown, "shutdown"; uint256 amount =...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/19 12:00 a.m.•25 views

[WP-M2] DEFAULT_ADMIN_ROLE can approve arbitrary address to spend any amount from the L1Escrow contract

Handle WatchPug Vulnerability details function approve address token, address spender, uint256 value public onlyRoleDEFAULTADMINROLE ApproveLiketoken.approvespender, value; emit Approvetoken, spender, value; L1Escrow.solapprove allows an address with DEFAULTADMINROLE can approve an arbitrary amou...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/01/10 12:00 a.m.•25 views

TimeswapPair.sol#borrow() Improper implementation allows attacker to increase pool.state.z to a large value

Handle WatchPug Vulnerability details In the current implementation, borrow takes a user input value of zIncrease, while the actual collateral asset transferred in is calculated at L319, the state of pool.state.z still increased by the value of the user's input at L332. Even though a large number...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/12/25 12:00 a.m.•25 views

Covering impermanent loss allows profiting from asymmetric liquidity provision at the expense of reserves

Handle hyh Vulnerability details Impact Pool funds will be siphoned out over time as swaps and asymmetric LP provision are generally balancing each other economically. While with introduction of IL reimbursement a malicious user can make an asymmetric LP, then profit immediately from out of balan...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/12/10 12:00 a.m.•25 views

Basket.sol#publishNewIndex() Lack of input validation may cause fund loss to anyone who bonds an auction

Handle WatchPug Vulnerability details According to the newRatio formula in settleAuction, the maximum value of newRatio is factory.auctionMultiplier basket.ibRatio. However, since there is no validation for the value of minIbRatio when setting it, if the publisher publishes a newIndex with...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/12/01 12:00 a.m.•25 views

_calculateMaltRequiredForExit makes wrong calculations

Handle 0x0x0x Vulnerability details Proof of concept calculateMaltRequiredForExit calculates the quantity of malts returned. uint256 maltQuantity = userMaltPurchased.mulamount.divuserCommitment; uint256 fullReturn = maltQuantity.mulcurrentPrice / pegPrice; userMaltPurchased / userCommitment...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/12/01 12:00 a.m.•25 views

Malt Protocol Uses Stale Results From MaltDataLab Which Can Be Abused By Users

Handle leastwood Vulnerability details Impact MaltDataLab integrates several MovingAverage contracts to fetch sensitive data for the Malt protocol. Primary data used by the protocol consists of the real value for LP tokens, the average price for Malt and average reserve ratios. trackMaltPrice,...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/12/01 12:00 a.m.•25 views

AbstractRewardMine.sol#setRewardToken is dangerous

Handle 0x0x0x Vulnerability details Impact In case the reward token is changed, totalDeclaredReward will be changed and likely equal to 0. Since userStakePadding and globalStakePadding are accumulated, changing the reward token will not reset those values. Thus, it will create problems...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/12/01 12:00 a.m.•25 views

User can bypass Recovery Mode via UniswapHandler to buy Malt

Handle gzeon Vulnerability details Impact One of the innovative feature of Malt is to block buying while under peg. The buy block can be bypassed by swapping to the whitelisted UniswapHandler, and then extract the token by abusing the add and remove liquidity function. This is considered a high...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/12/01 12:00 a.m.•25 views

Missing slippage/min-return check in UniswapHandler

Handle cmichel Vulnerability details The contracts are missing slippage checks which can lead to being vulnerable to sandwich attacks. A common attack in DeFi is the sandwich attack. Upon observing a trade of asset X for asset Y, an attacker frontruns the victim trade by also buying asset Y, lets...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/12/01 12:00 a.m.•25 views

AMM pool can be drained using a flashloan and calling stabilize

Handle stonesandtrees Vulnerability details Impact All of the rewardToken in a given AMM pool can be removed from the AMM pool and distributed as LP rewards. Proof of Concept In the stabilize method in the StabilizerNode the initial check to see if the Malt price needs to be stabilized it uses a...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/11/24 12:00 a.m.•25 views

Wrong design/implementation of freeTrial allows attacker to steal funds from the protocol

Handle WatchPug Vulnerability details The current design/implementation of freeTrial allows users to get full refund before the freeTrial ends. Plus, a user can transfer partial of thier time to another user using shareKey. This makes it possible for the attacker to steal from the protocol by...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/11/10 12:00 a.m.•25 views

Insufficient check on updateVestedTokens function

Handle rfa Vulnerability details Impact This function can be used by the beneficiary to update their vested token, however the function is callable by anyone, there is no check if the msg.sender/caller is the correct beneficiary, the only check is , but this check is user controllable, therefore...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/10/30 12:00 a.m.•25 views

Regular Trades Can Drain Executioner.sol Balance

Handle zer0dot Vulnerability details Impact This vulnerability allows any trade to effectively drain the balance, as long as it is not the chain's native asset which is not used directly in the modules , from the Executioner.sol contract. This is technically not critical because funds are not...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/10/30 12:00 a.m.•25 views

initialBalance and finalBalance calculated in a different way

Handle gpersoon Vulnerability details Impact The function executeTrades of Slingshot.sol calulates the initialBalance and finalBalance in a different way. If toToken == nativeToken then: initialBalance == executioner.balance; finalBalance == wrappedNativeToken.balanceOfaddressexecutioner This cou...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/10/15 12:00 a.m.•25 views

Duplicate utoken and usermanager can be added which cannot be deleted

Handle csanuragjain Vulnerability details Impact If Admin decides to delete the market, only the first instance of utoken and usermanager gets deleted. This means duplicate instance remains and Admin has actually not deleted the market Proof of Concept 1. Navigate to 2. Check the addUToken functi...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/10/10 12:00 a.m.•25 views

Basket becomes unusable if everybody burns their shares

Handle kenzo Vulnerability details While handling the fees, the contract calculates the new ibRatio by dividing by totalSupply. This can be 0 leading to a division by 0. Impact If everybody burns their shares, in the next mint, totalSupply will be 0, handleFees will revert, and so nobody will be...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/10/05 12:00 a.m.•25 views

Erc20.approve() doesn't work on non-standard compliant tokens like USDT

Handle pants Vulnerability details Non-standard compliant tokens like USDT don't return a return value on approve. The function Erc20.approve reverts if the token doesn't return a return value, as it is defined to always return a boolean. Impact When using any non-standard compliant token like...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/08/22 12:00 a.m.•25 views

Parameter updates not propagated

Handle gpersoon Vulnerability details Impact There are several functions to update parameters. However these parameters are only updated on the top level and not propagated to the other contracts. This could lead to various unpredictable results. Examples are: setNftHubAddress of RCFactory...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/08/13 12:00 a.m.•25 views

CompositeMultiOracle returns wrong decimals for prices?

Handle cmichel Vulnerability details The CompositeMultiOracle.peek/get functions seem to return wrong prices. It's unclear what decimals source.decimals refers to in this case. Does it refer to source.source token decimals? It chains the price arguments through peek function calls and a single...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/08/11 12:00 a.m.•25 views

Single-step process for critical admin transfer is risky

Handle 0xRajeev Vulnerability details Impact LongShort and Staker contracts have the notion of an “admin” address that is used within onlyAdmin or adminOnly modifiers for granting authorization to critical functions. Such contracts use a single-step ownership transfer of such admin addresses usin...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/07/12 12:00 a.m.•25 views

Signature replay attacks are possible if a user's transactionId is not unique

Handle shw Vulnerability details Impact If a user's two transactions can have the same transactionId while their router addresses differ, then the fulfill and cancel signatures for one of the transaction is replayable on the other. Proof of Concept The only transaction-related data in the...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/05/29 12:00 a.m.•25 views

auth collision possible

Handle gpersoon Vulnerability details Impact The auth mechanism of AccessControl.sol uses function selectors msg.sig as a unique role definition. Also the moduleCall allows the code to be extended. Suppose an attacker wants to add the innocent looking function "leftbranchblockuint32" in an new...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/05/27 12:00 a.m.•25 views

Users are charged twice the FDT tokens when tokenizing their convictions

Handle shw Vulnerability details Impact Users have to pay twice the FSD tokens when tokenizing their convictions if the locked variable is non-zero. Proof of Concept The first payment is made in the function tokenizeConviction of the contract ERC20ConvictionScore line 282, where a user transfer...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/05/11 12:00 a.m.•25 views

Use safeTransfer/safeTransferFrom consistently instead of transfer/transferFrom

Handle 0xRajeev Vulnerability details Impact It is good to add a require statement that checks the return value of token transfers or to use something like OpenZeppelin’s safeTransfer/safeTransferFrom unless one is sure the given token reverts in case of a failure. Failure to do so will cause...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2024/01/26 12:00 a.m.•24 views

Attacker can call update_market frequently to halt the increase of secRewardsPerShare

Lines of code Vulnerability details Impact Attacker can call updatemarket frequently to halt the increase of secRewardsPerShare. Proof of Concept market.secRewardsPerShare += uint128blockDelta 1e18 / marketSupply; // TODO: Scaling Suppose marketSupply is 1e21, then the attacker can call...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2024/01/08 12:00 a.m.•24 views

NO access control in decreaseAllowance and increaseAllowance

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. NO access control in decreaseAllowance and increaseAllowance.Anyone can call this function and increase or decrease the allowlance. Proof of Concept Provide direct links to all referenced code in GitHub...

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

Liquidator has no incentives to execute a favorable trade to the borrower

Lines of code Vulnerability details Summary Swaps involved in liquidations may negatively impact the owner of the lien, since there is no incentive to execute a favorable trade as long as the received amount is enough to recover the liquidity. Impact When an existing position is closed, the...

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

Exclusion of New Users Due to Token Max Supply

Lines of code Vulnerability details Summary New users are unable to participate in the protocol once the governance token's maximum supply is reached. Vulnerability Details To engage in the voting system, users need to acquire tokens directly from the protocol, a process managed by...

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

Liquidator can get higher rate for liquidation

Lines of code Vulnerability details Proof of Concept When position is unhealthy then it can be liquidated. In order to incentivize someone to liquidate positions they receive some extra amount of collateral. This incentive percentage is calculated inside...

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

_verifyVoteSignature wrong implementation

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. voteHash = keccak256abi.encodeVOTETYPEHASH, from, pieceIds, noncesfrom++, deadline; here we are using noncesfrom++ for calculating voteHash but different from address can have the same noncesfrom++...

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

Liquidations can be prevented by frontrunning and liquidating 1 debt (or more) due to wrong assumption in POS_MANAGER

Lines of code Vulnerability details Impact Users can avoid being liquidated if they frontrun liquidation calls with a liquidate call with 1 wei. Or, they may do a partial liquidation and avoid being liquidated before the interest reaches the value of the debt pre liquidation. The total interest...

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

wrong implementation of maxHeap.extractMax();

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. wrong implementation of maxHeap.extractMax; as it should return values but here its not assigned to anything. Proof of Concept Provide direct links to all referenced code in GitHub. Add screenshots, log...

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

Unsafe usage of msg.value in a loop

Lines of code 140 Vulnerability details The value of msg.value in a transaction's call never gets updated, even if the called contract ends up sending some or all of the Eth to another contract. This means that using msg.value in a for- or while-loop, without extra accounting logic, will either...

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

Unsafe use of transfer()/transferFrom() with IERC20

Lines of code 377, 509, 491, 530, 42, 50 Vulnerability details Some tokens do not implement the ERC20 standard properly but are still accepted by most code that accepts ERC20 tokens. For example Tether USDT's transfer and transferFrom functions on L1 do not return booleans as the specification...

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

_determineTransferAmount does't support low decimal tokens.

Lines of code Vulnerability details Impact determineTransferAmount does't support low decimal tokens. Transfer amount will be force set to incorrect amount. Proof of Concept In process of erc20Wrap,in order to support different decimal tokens, the contract use determineTransferAmount to get...

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

Handling Potential Slippage Due to Truncation

Lines of code Vulnerability details Impact The potential slippage issue arises from the precision loss during decimal conversion in the primitiveOutputAmount function. When interacting with the Curve Tricrypto Pool, especially involving tokens with different decimal precisions, truncation can lea...

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

ERC721 and ERC1155 Reentrancy Guard is Incomplete and Wrongly Implemented

Lines of code Vulnerability details Impact Whether there is a ERC721 and ERC1155 Interaction clash or not, or if there is an inadequate transfer callback, all this would not matter as reversion would not occur due to absence of proper validation during wrap of ERC721 and ERC1155 in the Ocean.sol...

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

Custom Ether Address Representation in Shell Protocol's Constructor

Lines of code Vulnerability details Impact The hardcoded custom representation of Ether in the Shell Protocol's adapter for the Curve Tricrypto pool using address0x4574686572, deviates from standard Ethereum practices and introduces the risk of address collisions. This could potentially lead to...

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

Users can fail to unstake and lose their deserved ETH because malfunctioning or untrusted derivative cannot be removed. Users can fail to unstake and lose their deserved ETH because malfunctioning or untrusted derivative cannot be removed.

Lines of code Vulnerability details Potest egreditur posses torrens fugamque ignavis Ubi spectemur patent prominet tenebat ait est Lorem markdownum vitam, unus cum quaeque bellique portante et siccis intremuere nondum pascere vidit. In mihi cara terra, sui regni meritasque nescia, litora vocatum...

7.1AI score
SaveExploits0
Total number of security vulnerabilities5000