Lucene search
+L
Code423n4Recent

10190 matches found

Code423n4
Code423n4
added 2024/01/08 12:00 a.m.32 views

veOLAS.sol : PointVoting's slope and bias values are reset to zero when depositing for another account.

Lines of code Vulnerability details Impact Since the bias vote weight and slope are reset, the voting power of as user is nullified. Proof of Concept veOLAS.sol is escrow based contract where the OLAs tokens are locked for certain amount of time in order to gain the voting power. This voting powe...

7.4AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/08 12:00 a.m.17 views

THE EXECUTION OF THE GOVERNANCE ACTIONS (CONTINOUS TRANSACTIONS PACKED TOGETHER) ON GNOSIS CHAIN COULD DoS, IF A SINGLE MALICIOUS target CONTRACT REVERTS THE TRANSACTION

Lines of code Vulnerability details Impact In the HomeMediator.processMessageFromForeign function the data variable is passed into the function. The issue here is that set of continuous transactions can be packed into a single buffer and executed in the function. The data variable is parsed insid...

7.2AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/08 12:00 a.m.28 views

Frequent donations can cause DOS

Lines of code Vulnerability details Impact User's might be unable to withdraw pending rewards Proof of Concept If a donation is made before the checkpoint call in the same block, the checkpoint call will revert. This is done in order to prevent flash loans. function checkpoint external returns bo...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/08 12:00 a.m.35 views

griefer can create maximum length time locks for other users with only dust

Lines of code Vulnerability details Description veOLAS is the voting token for the OLAS protocol. It functions like the curve.fi voting token in that a user gets more votes the longer they lock their tokens. A user can create a lock for themselves or have another user create a lock for them, usin...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/08 12:00 a.m.30 views

CM can exploit a pause in GuardCM to gain permanent unrestricted access

Lines of code Vulnerability details Impact The GuardCM contract is designed to restrict the Community Multisig CM actions within the protocol to only specific contracts and methods. Under specific circumstances, the protocol allows the guard to be paused, which temporarily pauses the guard and...

7.4AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/08 12:00 a.m.26 views

Attacker can cause deposits to be locked in the Solana lockbox

Lines of code Vulnerability details Impact An attacker can cause deposits to be locked in the lockbox Proof of Concept In withdraw, if the position has 0 liquidity the execution is reverted function withdrawuint64 amount external address positionAddress =...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/08 12:00 a.m.26 views

TRANSACTION EXECUTION IS DoS IN THE CROSS-CHAIN GOVERNANCE CONTRACTS AND IN THE GNOSIS SAFE COMMUNITY MULTISIG TRANSACTION CHECKS SINCE THE WRONG payload IS EXTRACTED FROM THE data BYTES ARRAY

Lines of code Vulnerability details Impact The GuardCM.verifyBridgedData function is used to verify the bridged data for authorized combinations of targets and selectors in the Gnosis Safe community multisig. The data payload is passed into the verifyBridgedData function which is then unpacked...

7.4AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/08 12:00 a.m.54 views

Wrong invocation of Whirpools's updateFeesAndRewards will cause it to always revert

Lines of code Vulnerability details Impact Deposits will be unwithdrawable from the lockbox Proof of Concept If the entire liquidity of a position has been removed, the withdraw function calls the updateFeesAndRewards function on the Orca pool before attempting to close the position. function...

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

claimOwnerIncentives x depositServiceDonationsETH x checkpoint x-entrancy Attack to get instant topups

Lines of code Vulnerability details Impact Double Topup via claimOwnerIncentives- depositServiceDonationsETH - checkpoint - claimOwnerIncentives loop Proof of Concept - Deploys Attacking Smart Contract - Executes 1st transaction via Attacking Contract to trigger depositServiceDonationsETH - Execu...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/08 12:00 a.m.26 views

Change owner() function can pass in wrong address and authorize malicious user in Treasury.sol

Lines of code Vulnerability details Impact A Wrong or malicious address can be made owner of the treasury.sol contract which is used to manage the Olas treasury. This is possible because there is no additional function in the treasury.sol Contract which will enable a new Owner actually meant to b...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/07 12:00 a.m.20 views

Upgraded Q -> 2 from #549 [1704652745528]

Judge has assessed an item in Issue 549 as 2 risk. The relevant finding follows: L-02 The first piece created can pass quorumVotes without any votes if totalSupply of ERC20 votes is zero --- The text was updated successfully, but these errors were encountered: All reactions...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/07 12:00 a.m.23 views

Upgraded Q -> 2 from #286 [1704653766013]

Judge has assessed an item in Issue 286 as 2 risk. The relevant finding follows: L-02 Quorum for existing piece cannot be changed L-03 Token inflation gives advantage to new pieces --- The text was updated successfully, but these errors were encountered: All reactions...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2024/01/07 12:00 a.m.18 views

Upgraded Q -> 2 from #643 [1704652543122]

Judge has assessed an item in Issue 643 as 2 risk. The relevant finding follows: L-2 Setting Auction::reservePrice equal to 0 can create a chain of 0 price bids --- The text was updated successfully, but these errors were encountered: All reactions...

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

Upgraded Q -> 2 from #49 [1704028025372]

Judge has assessed an item in Issue 49 as 2 risk. The relevant finding follows: L-05 Some tokens revert on 0 amount transfer ParticlePositionManager::liquidatePosition: File: protocol/ParticlePositionManager.sol 376: // reward liquidator 377: TransferHelper.safeTransfercloseCache.tokenFrom,...

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

Upgraded Q -> 2 from #8 [1703832984112]

Judge has assessed an item in Issue 8 as 2 risk. The relevant finding follows: Remove WLP from whitelist should not block user from removing WLP --- The text was updated successfully, but these errors were encountered: All reactions...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2023/12/26 12:00 a.m.16 views

Upgraded Q -> 2 from #37 [1703589922038]

Judge has assessed an item in Issue 37 as 2 risk. The relevant finding follows: L-02 openPosition maybe underflow in openPosition - Base.swap function openPosition DataStruct.OpenPositionParams calldata params public override nonReentrant returns uint96 lienId, uint256 collateralTo...

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

Missing Input Validation for Media Type

Lines of code Vulnerability details The validateMediaType function in the ArtPieceMetadata contract performs some input validation for the mediaType field in the metadata parameter. However, it lacks validation for the associated data fields based on the mediaType. This could lead to issues where...

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

Tighten Admin Access Control

Lines of code Vulnerability details Admin functions do not use a custom admin role and rely only on owner access control. Recommendation: Implement a custom admin role. // Custom admin role instead of owner enum Role ADMIN // Restrict drop function function dropTopVotedPiece external...

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

The entire AuctionHouse contract can be disabled by a wrong creator bps sum.

Lines of code Vulnerability details Vulnerability details Description There is a potential for a DoS in the AuctionHouse contract related to the buyToken call from the ERC20TokenEmitter. This is due to the buyToken requiring the bpsSum to be equal to 10000, but there is no restriction when creati...

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

_handleRepay of MoneyMarketHook does not consider the actual debt shares of the posId inside the position manager and could lead to a user's tokens getting stuck inside the hook.

Lines of code Vulnerability details Impact When users construct repay operations via MoneyMarketHook, it doesn't consider the actual debt shares of the position inside the InitCore and PosManager. This could lead to users' tokens getting stuck inside the MoneyMarketHook contract. Proof of Concept...

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

Signature Verification for _verifyVoteSignature Function

Lines of code Vulnerability details Potential Risk: The verifyVoteSignature function in the CultureIndex contract is responsible for verifying signatures for specific votes. While it attempts to verify signatures, there are potential risks associated with signature verification. Proof of Concept...

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

Bidders can bid at previous auction reserve price by frontrunning the setter transactions

Lines of code Vulnerability details Impact The AuctionHouse.settleCurrentAndCreateNewAuction can frontrun the setter functions such as setCreatorRateBps, setMinCreatorRateBps, setEntropyRateBps, setTimeBuffer, setMinBidIncrementPercentage & setReservePrice. As soon as the current auction ends, an...

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

Lack of receive() inside MoneyMarketHook contract when interacting with WNATIVE.

Lines of code Vulnerability details Impact MoneyMarketHook is expected to work with the native balance when interacting with WNATIVE, especially when params.returnNative is set to true during the execute operation. However, due to the lack of a receive function inside the contract, MoneyMarketHoo...

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

MaxHeapify: find children with large value and swap

Lines of code Vulnerability details Input Validation: - The maxHeapify function assumes that pos is a valid position within the heap. - Similar to the swap function, you should consider adding a check to verify that pos is within the bounds of your heap. requirepos size, "Invalid position...

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

Incorrect fee calculation may lead to borrower overpaying

Lines of code Vulnerability details Summary Fees are incorrectly snapshotted when a new lien is created, potentially leading to a fee overpay. Impact The Particle LAMM protocol tracks fees using the same internal tracking built in Uniswap V3. Positions in Uniswap V3 contain a couple of variables...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/12/21 12:00 a.m.16 views

An artPiece with a creator address set to address(0) leads to a pseudo-permanent DoS if it ends up being auctioned.

Lines of code Vulnerability details Vulnerability details Description There is a potential for a DoS in the AuctionHouse contract related to the buyToken call from the ERC20TokenEmitter. This is due to the buyToken using the mint function to all the addresses that are stored on the creators array...

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

Api3OracleReader may be unavailable up to 1 hour if the timestamp of the price from the Api3Server is bigger than the current block.timestamp

Lines of code Vulnerability details Impact Oracle unavailable for up to 1 hour, which could lead to positions going underwater and being liquidated when it becomes live again, without users having the chance to repay/collateralize. Proof of Concept The airnode code has a note concerning this...

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

lack of deadline for uniswap interactions

Lines of code Vulnerability details Impact Lack of deadline can cause a transaction to be executed at an unfavorable time. Causing loss for the trader/liquidity provider. Proof of Concept In all three liquidity interactions with uniswap there is a lack of deadline parameter as block.timestamp is...

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

Efficiency

Lines of code Vulnerability details Depending on the size of your heap, the while loop may execute a significant number of times. Consider whether you can optimize this loop for performance, especially if you expect a large number of insertions. Assessed type Loop --- The text was updated...

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

No access control on critical functions

Lines of code Vulnerability details The contract lacks proper access control on critical functions, allowing unauthorized parties to execute them. Recommendation: Use OpenZeppelin Ownable control for minting/burning, etc. Before: // No access control checks in critical functions function...

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

openPosition() use stale feeGrowthInside0LastX128/feeGrowthInside1LastX128

Lines of code Vulnerability details Vulnerability details When openPosition, we need to record the current feeGrowthInside0LastX128/feeGrowthInside1LastX128. And when closing the position, we use Base.getOwedFee to calculate the possible fees generated during the borrowing period, which are used ...

7.2AI score
SaveExploits0
Code423n4
Code423n4
added 2023/12/21 12:00 a.m.15 views

openPosition() Lack of minimum token0PremiumPortion/token1PremiumPortion limit

Lines of code Vulnerability details Vulnerability details In openPosition, it allows token0PremiumPortion and token1PremiumPortion to be 0 at the same time. In this case, if tokenId enters outofprice, for example, UpperOutOfRange, anyone might be able to input: marginFrom = 0 marginTo = 0...

7.1AI score
SaveExploits0
Code423n4
Code423n4
added 2023/12/21 12:00 a.m.22 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.17 views

marginTo when opening a position increases slippage

Lines of code Vulnerability details Impact Providing marginTo when opening position will not increase premium but be stolen by MeV. This can be mitigated by providing amountOutMin in swap params but the protocol should guarantee proper swap. Proof of Concept When opening a position a borrower can...

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

Input Validation for 'createBid' Function

Lines of code Vulnerability details Potential Risk: The 'createBid' function in the contract is responsible for allowing users to place bids on a Verb auction by sending Ether. While the function includes several checks, it lacks explicit input validation for certain parameters, which could lead ...

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

In some pools, borrowers can maliciously prevent liquidatePosition()

Lines of code Vulnerability details Vulnerability details in liquidatePosition At the end of the liquidation, the liquidation fee will be transferred to the liquidator. function liquidatePosition DataStruct.ClosePositionParams calldata params, address borrower external override nonReentrant...

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

Ether will get stuck in ERC20TokenEmitter

Lines of code Vulnerability details ERC20TokenEmitter.sol:buyToken distributes the funds sent to purchase the tokens in the following way: 2.5% of the funds are sent to the RevolutionProtocolRewards contract. From the remaining funds, a percentage dependent on the creatorRateBps variable is sent ...

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

Loss of precision in calculations

Lines of code Vulnerability details The use of regular division can lead to loss of precision. This could enable certain manipulations through precision attacks. Recommendation: Use SafeMath's div for integer division. Division used in parent can lead to loss of precision. Safemath usage is...

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

Input Validation for createPiece Function

Lines of code Vulnerability details Potential Risk: The createPiece function in the CultureIndex contract takes two parameters: metadata and creatorArray. While the function calls the validateCreatorsArray and validateMediaType functions to validate the input data, it does not verify whether the...

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

Use SafeMath for overflow protection

Lines of code Vulnerability details Unchecked math could potentially trigger overflows. Recommendation: Utilize SafeMath library for overflow safe operations. using SafeMath for uint256; function mintaddress account, uint256 amount public onlyOwner // Overflow protected totalSupply =...

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

Error Handling and Consistency in '_settleAuction' Function

Lines of code Vulnerability details Potential Risk: The 'settleAuction' function is responsible for settling an auction by finalizing the bid and handling payouts to various parties. It performs several operations and interactions with external contracts. However, the function lacks proper error...

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

Overflow potential

Lines of code Vulnerability details Overflow: Be cautious about integer overflow when incrementing size. Depending on how the size variable is used in your contract, it might be beneficial to check for potential overflow conditions. requiresize typeuint256.max, "Heap size exceeds maximum"; Assess...

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

Input Validation for _vote Function

Lines of code Vulnerability details Potential Risk: The vote function in the CultureIndex contract takes two parameters: pieceId and voter. While the function includes some input validation checks, there are some potential issues and missing checks that should be addressed. Proof of Concept PoC:...

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

liquidatePosition() change LOAN_TERM may result in the borrower paying additional liquidation fees.

Lines of code Vulnerability details Vulnerability details Currently, there are three ways to close a position: 1. The borrower voluntarily closes it through closePosition. 2. If Premium is insufficient, it is forcibly closed by liquidatePosition. 3. After the loan expires, LP forcibly closes it b...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2023/12/21 12:00 a.m.15 views

LendingPool interest should not accrue when pool's repay is paused

Lines of code Vulnerability details Impact When the canRepay status of pools inside InitCore is paused, users are not allowed to repay their positions when borrowing from the paused pool. However, interests continue to accrue during this pause period, exposing users to potential liquidation risk...

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

Liquidation condition should not factor the liquidation reward into the premiums

Lines of code Vulnerability details Summary The premiums used to determine the liquidation condition have the liquidation reward already discounted, potentially causing a lien to be considered underwater while technically it is not. Impact Positions in Particle LAMM can be liquidated if the owed...

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

collateralizeWLp can be bypassed even when collateralization is paused

Lines of code Vulnerability details Impact Admin can pause collateralization for a specific mode to prevent users from providing more collateral either via collateralize or collateralizeWLp. However, due to not properly using internal accounting when tracking wLP collateral, users can still provi...

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

repay(), liquidate() and liquidateWLp() receive shares as argument, which may revert if from approval to tx settled blocks have passed

Lines of code Vulnerability details Impact repay, liquidate and liquidateWLp transactions revert if users approve the exact repay amount they need in the frontend and only after some blocks have passed is the transaction settled. This happens because the interest accrual is by timestamp, so the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2023/12/21 12:00 a.m.22 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.26 views

Position owners can steal others position's Wlp collaterals

Lines of code Vulnerability details Impact Position's owner can steal other users Wlp collateral, as long as it doesn't completely withdraw all the balance of tokenId LP. Proof of Concept When users call decollateralizeWLp function from InitCore, as long as Wlp is whitelisted and the mode's...

7AI score
SaveExploits0
Total number of security vulnerabilities10190