Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
•added 2023/08/04 12:00 a.m.•22 views

CurveVolatileCollateral Collateral status can be manipulated by flashloan attack

Lines of code Vulnerability details Impact Attacker can make the CurveVolatileCollateral enter the status of IFFY/DISABLED . It will cause the basket to rebalance and sell off all the CurveVolatileCollateral. Proof of Concept The CurveVolatileCollateral overrides the anyDepeggedInPool function to...

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

Inaccurate implementation of ECDSA creates signature malleability

Lines of code Vulnerability details Impact The ecrecover function is an inherent cryptographic function within Solidity which enables the retrieval of the signer's address messages which have been signed with their private key. Of course, this is very important when it comes to verifying the...

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

Users can unfollow through FollowNFT contract when LensHub is paused by governance

Lines of code Vulnerability details Bug Description When the LensHub contract has been paused by governance state set to ProtocolState.Paused, users should not be able unfollow profiles. This can be inferred as the unfollow function has the whenNotPaused modifier: LensHub.solL368-L371 function...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/31 12:00 a.m.•22 views

setDirectPrice is vulnerable to sandwich attack

Lines of code Vulnerability details Impact In ChainlinkOracle.sol we have setDirectPrice: function setDirectPriceaddress asset, uint256 price external onlyAdmin emit PricePostedasset, pricesasset, price, price; pricesasset = price; This function setDirectPrice allows the admin...

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

Due to revert found during testing it would be wise to implement a rollback and re-whitelist should it be needed

Lines of code Vulnerability details Impact During testing with the Mainnet fork for the migration testing. We needed to make a distinction between V1 Profiles and V2 profiles within the test code, but this is not so in the standard V2 code, and may cause unforeseen issues after the upgrade. The V...

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

Users cannot unfollow if they do not own the FollowNFT of the followTokenId used for their profile

Lines of code Vulnerability details Bug Description If the followTokenId of a profile is wrapped, users will only be able to unfollow if they are either: 1. The owner of the follow NFT. 2. An approved operator of the follow NFT's owner. This can be seen in the unfollow function of FollowNFT.sol:...

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

It's possible to block some user from voting for (or against) some proposal

Lines of code Vulnerability details Note: Although some code involved is inside a contract which is out of scope, I argue that this finding is in scope, since the vulnerability exists in the in-scope contract. In the Arcade protocol, there are several voting vaults implemented so that users can u...

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

_getSelector does not return the right selector

Lines of code Vulnerability details Impact getSelector... function in the CoreVoting.sol will NEVER return the correct function selector of a calldata string. This can lead to malfunction in the system when creating a proposal. Proof of Concept The function selector is suppose to be the hash dige...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/28 12:00 a.m.•22 views

Malicious proposal can drain the treasury contract and bypass the gscAllowance[token] check

Lines of code Vulnerability details Impact Malicious proposal can drain the treasury contract and bypass the gscAllowancetoken check Proof of Concept See this two function: function gscSpend address token, uint256 amount, address destination external onlyRoleGSCCOREVOTINGROLE nonReentrant if...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/28 12:00 a.m.•22 views

setThreshold can bypass cool down period in setGSCAllowance

Lines of code Vulnerability details Impact setThreshold can bypass the cool down period in setGSCAllowance and decrease the gscAllowancetoken. Proof of Concept In setGSCAllowance, we add a cool-down period of 7 days for the admin to set a new allowance to gscAllowancetoken either increase or...

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

Not all profiles can be migrated to V2 profile

Lines of code Vulnerability details Impact There seem to be some differences in the validation logic that makes the V1 to V2 conversion for some profiles impossible. Proof of Concept // SPDX-License-Identifier: UNLICENCED pragma solidity =0.8.4; contract HandleMigration uint256 internal constant...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/27 12:00 a.m.•22 views

User can potentially bypass the processFollow call during the migration process and follow users for free

Lines of code Vulnerability details Impact User can potentially follow users that require to pay a fee upon a follow for free during a migration process. Proof of Concept Malicious user can be watching a mempool and wait for the user to migrate his profile to V2. He is specifically watching a...

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

[H] Address collisions due to lack of check on the salt parameter

Lines of code Vulnerability details Impact In ConstAddressDeployer, functions deploy and deployAndInit do not check for the same salt value being passed in by different users. This can lead to address collisions. If someone passes the same salt value as someone else, even with different bytecode...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/21 12:00 a.m.•22 views

balance of the recipient to is updated after the token transfer (safeTransferFrom function) could lead to reentrancy attack

Lines of code Vulnerability details Impact The balance of the recipient to is updated after the token transfer safeTransferFrom function. If the safeTransferFrom function triggers an external contract, and that contract, in turn, calls back to this contract, it can result in a reentrancy attack...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/18 12:00 a.m.•22 views

Guardian can brick SavingsVest contract accidentally

Lines of code Vulnerability details Impact The fix to M-06 introduces a new vulnerability, as it turns a missing validation that previously was recoverable i.e., only a minor thing into an irrecoverable error, resulting in a permanent loss of funds. Proof of Concept Consider the scenario where th...

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

The _currentExchangeRate of the Vault contract can't increase, and always be lower than or equal to _assetUnit

Lines of code Vulnerability details Impact The currentExchangeRate of the Vault contract can not increase, and always be lower than or equal to assetUnit. Therefore, when the vault is undercollateralized currentExchangeRate assetUnit, it can't be further collateralized. Proof of concept function...

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

mintYieldFee function does not check for the maxMint amount.

Lines of code Vulnerability details Impact Theoretically, it is possible to mint more than the maxMint amount using the mintYieldFee function in the Vault contract. Proof of Concept The functions in Vault contract like mint, mintWithPermit call the beforeMint function which checks whether shares...

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

The admin 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. Consider...

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

Contract can be initialized with arbitrary or non functional address

Lines of code Vulnerability details Impact An attacker can pass invalid addresses to the initialize function, potentially leading to unexpected behavior and security vulnerabilities in the contract Proof of Concept The initialize function is intended to be called only once to initialize the...

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

Invariants doesn't checked

Lines of code Vulnerability details Impact Liquidity providers might lost their funds. Because wellFunction can be arbitrary. Proof of Concept I've asked publius about wellFunction, and he respond -- that anyone can create any wellFunction and pass it to the Well. So, let's consider for example...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/10 12:00 a.m.•23 views

Long term denial of service due to lack of fees in Well

Lines of code Vulnerability details Description The Well allows users to permissionless swap assets or add and remove liquidity. Users specify the intended slippage in swapFrom, in minAmountOut. The ConstantProduct2 implementation ensures Kend - Kstart = 0, where K = Reserve1 Reserve2, and the...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/10 12:00 a.m.•22 views

The existence of Pump may hinder large swaps or swaps from a low liquidity pool

Lines of code Vulnerability details Impact Large swaps or swaps with low liquidity value may not work properly. Proof of Concept According to the whitepaper, the purpose of the pump is to be a multi-block MEV manipulation resistant to large changes in liquidity value. Since the Well can be create...

6.5AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/10 12:00 a.m.•22 views

Possible Issues Related to Well Initial State

Lines of code Vulnerability details Description && Impact After creating the Well contract, there will be no reserves in the initial state. Therefore it could lead to the following possible issues and the attackers can take advantage of them through front running. 1. Price manipulation attacks Wh...

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

No fee swap is possible through addLiquidity and removeLiquidityImbalanced

Lines of code Vulnerability details impact Some will not pay swap fees even after the swap fee is added. proof of concept This is equivalent to swap 1000 tokenA to 500 tokenB, but no fee calculation code lies in adding and removing liquidity. Add this test in Well.AddLiquidity.t.sol. function...

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

There is a large precision error in sqrt calculation of lp

Lines of code Vulnerability details Impact Compared with div, there is a larger precision error in calculating lp through sqrt, so there should be a way to check whether there are excess tokens left when adding liquidity. Proof of Concept function testCalcLpTokenSupplyDiff public uint256 memory...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/10 12:00 a.m.•22 views

bad actore can increase gas usage in swapfrom function

Lines of code Vulnerability details Impact bad actor can increase gas in swapfrom function because everytime calling swapfrom function it store new unit and everytime runs the loop for length of it Proof of Concept the swapfrom function includes function setReservesIERC20 memory tokens, uint256...

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

Potential draining Well via slippage imprecision and swapping the same token

Lines of code Vulnerability details Impact According to Well.sol comment: // Note: The rounding approach of the Well function determines whether // slippage from imprecision goes to the Well or to the User. imprecision can either goes to the Well or User. In this scenario we will assume that Well...

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

sellRewards() might be used to steal collaterals/rewards by malicious guardians or sellers.

Lines of code Vulnerability details Impact Malicious guardians or sellers might steal funds using sellRewards. Proof of Concept sellRewards is used to buy collaterals using rewardsagToken through 1inch router. function sellRewardsuint256 minAmountOut, bytes memory payload external returns uint256...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/07 12:00 a.m.•22 views

Poor detection of disputed trees allows claiming tokens from a disputed tree

Lines of code Vulnerability details Targets Impact Users can claim rewards from a Merkle tree that's being disputed. This can potentially lead to loss of funds since a malicious trusted EOA can claim funds from a malicious tree while it's being disputed. Proof of Concept The...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/07 12:00 a.m.•22 views

uint128 changeAmount might overflow

Lines of code Vulnerability details Impact This issue is an edge case, that uint128 changeAmount could overflow, making the protocol fail for certain amount of swap. Proof of Concept Let's break down the changeAmount: 1. amountOut/amountIn 2. BASE27 3. normalizer File:...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/05 12:00 a.m.•22 views

User may get less tokens than expected when collateral list order changes

Lines of code Vulnerability details Impact The order of ts.collateralList is not stable: Whenever LibSetters.revokeCollateral is used to revoke a collateral, it may change because of the swap that is performed. However, the function Redeemer.redeem relies on this order, as the user has to provide...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/05 12:00 a.m.•22 views

Incorrect Use of Equality Operator in addPartner and addVault Functions

Lines of code Vulnerability details Impact The addPartner and addVault functions in the PartnerManagerFactory contract are intended to add new partner managers and vaults respectively. These functions also assign a unique ID to each new partner manager and vault by storing them in the partnerIds...

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

## Significant roundoff error in depositToPort function (ArbitrumBranchBridgeAgent.sol )

Lines of code Vulnerability details Significant roundoff error in depositToPort function ArbitrumBranchBridgeAgent.sol This issue is caused with different decimals than 18. As an Eg USDC, WBTC. Let's consider the USDC as the case scenario. If User deposit USDC into the depositToPort function, He...

6.4AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/05 12:00 a.m.•22 views

Not using slippage parameter when interacting with AMMs

Lines of code Vulnerability details Impact The slippage parameters are hardcoded to 0, meaning the minimum amount can be 0. The absence of slippage protection causes transactions to be vulnerable to front running. This can result in users potentially losing their funds. Proof of Concept...

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

stETHs rebase profit stealing

Lines of code Vulnerability details Description It's possible with flashloan from AAVE to capture a big shares amount of eUSD, after each stETH rebase exploiter will buy excessive income, which leads to eUSD rebase due to shares burning, so the exploiter will have most of burned eUSD because they...

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

On OnRecvPacket, TradeInputForExactOutput is called with all the amount of the transferred coin as a maximum which is not safe.

Lines of code Vulnerability details Impact In OnRecvPacket IBC receive callback, coinswapKeeper.TradeInputForExactOutput is called to swap from transferredCoin to standardDenom i.e. canto. TradeInputForExactOutput func takes the input as max amount of the token to be paid. This is not safe for th...

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

Lack of deadline parameter when executing swaps

Lines of code Vulnerability details Impact Deadline is not checked. The transaction may stay unexecuted for a long time, resulting in unfavourable trade when the transaction is finally executed. Proof of Concept The function OnRecvPacket is used to help users outside of Canto onboard seamlessly...

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

Doesn’t have proper slippage control.

Lines of code Vulnerability details Impact For risk management purposes, a swap will fail if the input coin amount exceeds a predefined limit. But it is not a slippage control. It doesn’t consider how many Canto a user wants to swap for. It is possible that the user will swap the token at a very...

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

expirationPeriod in the strategy contracts is not checked when calling LlamaCore.execute

Lines of code Vulnerability details Impact If executionPeriod is set to an extremely short time or even 0, then all actions can never be executed. Proof of Concept There are 7 states in an Action flow: Active, Canceled, Failed, Approved, Queued, Expired, Executed. Generally, the sequence goes lik...

6.7AI 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/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.•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/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/02 12:00 a.m.•22 views

Borrowers can still close loan normally while being defaulted

Lines of code Vulnerability details Borrowers can still close loan normally while being defaulted A borrower can repay a loan normally while having outstanding debt and close it causing losses to the lender. Impact Loans in the Particle protocol are subject to an interest rate defined by the...

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

Attacker can use buyNftFromMarket() to buy an NFT from an arbitrary collection

Lines of code Vulnerability details Impact The function buyNftFromMarket allows a borrower to buy an NFT from the same collection to repay a loan. At the end of the function flow, it checks that the contract actually holds the NFT tokenId and assumes that it is the acquired NFT. However, this is...

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

_execSellNftToMarket() re-enter steal funds

Lines of code Vulnerability details Impact re-enter steal funds Proof of Concept execSellNftToMarket The number of changes in the balance to represent whether the corresponding amount has been received function execSellNftToMarket address collection, uint256 tokenId, uint256 amount, bool pushBase...

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

Borrower can block being defaulted or auctioned

Lines of code Vulnerability details Borrower can block being defaulted or auctioned The borrower can potentially block the liquidation and auction processed by using a contract and reverting on ETH transfers. Impact When a loan is being liquidated or auctioned, any credit still available to the...

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

New treasury rate should not affect existing loan

Lines of code Vulnerability details Impact In the protocol, lenders have to pay a small treasury fee when they claim their interest. The contract owner can change this treasuryRate at any time using the function setTreasuryRate. // @audit treasury rate should not affect existing loan function...

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

Burning an NFT can be used to block voting

Lines of code Vulnerability details Burning an NFT can be used to block voting Impact A new validation in the accept function has been introduced in order to mitigate a potential attack to the party governance. By burning an NFT, a party member can reduce the total voting power of the party just...

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

It is possible that recovery transaction cannot be performed even if signer still controls address that is an address of recoveryInfo.keys

Lines of code Vulnerability details Impact When a signer's privileged address is compromised, this signer can call the following AmbireAccount.execute function with sigMode being SIGMODERECOVER by using a signature signed by an address of recoveryInfo.keys that is still controlled by such signer ...

7.1AI score
SaveExploits0
Total number of security vulnerabilities5000