Lucene search
+L
Code423n4Most viewed

10190 matches found

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/06 12:00 a.m.•25 views

DDOS by cancelling orders or removing approvals

Handle cmichel Vulnerability details The market assumes that the maker of an order approved the swivel contract as there are many calls that move funds from the maker to the contract, see Swivel.initiateVaultFillingZcTokenInitiate/initiateZcTokenFillingVaultInitiate: uToken.transferFromo.maker,...

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

Erc20.transferFrom() 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 transferFrom. The function Erc20.transferFrom 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 tok...

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

Router's complexPath percentagePaths don't work as expected

Handle cmichel Vulnerability details The TridentRouter.complexPath function allows splitting a trade result into several buckets and trade them in a different pool each. The distribution is defined by the params.percentagePathi.balancePercentage values: for uint256 i; i...

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

HybridPool's flashSwap gives the total fee to barFeeTo

Handle 0xsanson Vulnerability details Impact In HybridPool's flashSwap function there's a transfer to barFeeTo transfertokenIn, fee, barFeeTo, false; Here fee = amountIn swapFee / MAXFEE is the total swap fee. However it should transfer out only a fraction of it barFee/MAXFEE otherwise liquidity...

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

Possibility to Stake Twice

Handle verifyfirst Vulnerability details Impact Potential for some users to double-stake their Yaxis. Proof of Concept // SPDX-License-Identifier: MIT pragma solidity 0.6.12; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol"; // yAx...

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

CompoundToNotionalV2.enableToken ERC20 missing return value check

Handle cmichel Vulnerability details Vulnerability Details The enableToken function performs an ERC20.approve call but does not check the success return value. Some tokens do not revert if the approval failed but return false instead. Impact Tokens that don't actually perform the approve and retu...

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

Missing validation on latestRoundData

Handle adelamo Vulnerability details On ExchangeRate.sol, we are using latestRoundData, but there are no validations that the data is not stale. The current code is: / uint80 /, rate, / uint256 /, / uint256 /, / uint80 / = AggregatorV2V3InterfacerateOracle.latestRoundData; requirerate 0,...

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

Can't call external functions internally

Handle tensors Vulnerability details Impact Within GovernerAlpha.sol, certain functions are locked because of the improper modifier. addressthis cannot call external functions in lines L470-497. Proof of Concept Recommended Mitigation Steps Change external to internal. --- The text was updated...

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

executing instruction outside code can lead to failing transfer

Handle Omik Vulnerability details Impact in the , is handling transfer and transferfrom, and checking the return value of the transfer and transferfrom, but the checking is happening outside the code, therefore if the transfer successfull it will still return false Proof of Concept 1. deploy this...

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

Strategy.sol: startPool() can possibly be flashloaned

Handle hickuphh3 Vulnerability details Impact Since startPool is callable by anyone, an attacker can flash loan to first imbalance the pool, get the strategy to deposit in the imbalanced ratio, then rebalance the pool to the original ratio, thus causing the strategy to suffer from impermanent los...

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

ERC20Rewards.sol: Use TransferHelper for rewardsToken

Handle hickuphh3 Vulnerability details Impact As it is used in other contracts, rewardsToken shouldn't be an exception. --- The text was updated successfully, but these errors were encountered: All reactions...

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

Unchecked return value from transfer()

Handle JMukesh Vulnerability details Impact It is usually good to add a require-statement that checks the return value or to use something like safeTransfer; unless one is sure the given token reverts in case of a failure. Proof of Concept Tools Used manual review Recommended Mitigation Steps che...

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

Missing events/timelocks for owner/admin only functions that change critical parameters

Handle 0xRajeev Vulnerability details Impact Owner/admin only functions that change critical parameters should emit events and have timelocks. Events allow capturing the changed parameters so that off-chain tools/interfaces can register such changes with timelocks that allow users to evaluate the...

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

[Bug] A critical bug in bps function

Handle hrkrshnn Vulnerability details A critical bug in bps function: PoolBase.sol function bps internal pure returns IERC20 rt // These fields are not accessible from assembly bytes memory array = msg.data; uint256 index = msg.data.length; // solhint-disable-next-line no-inline-assembly assembly...

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

Router.addDividend(address,uint256) has potentially unsafe arithmetic

Handle heiho1 Vulnerability details Impact Router.addDividendaddress,uint256 has potentially unsafe division before multiplication. This could lead to truncation. Proof of Concept Tools Used Slither Recommended Mitigation Steps Potentially this issue is mitigated by recent Solidity changes to...

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

Malicious owner can arbitrarily change fee to any % value

Handle 0xRajeev Vulnerability details Impact Tracer protocol like any other allows market creators to charge fees for trades. However, a malicious/greedy owner can arbitrarily change fee to any % value and without an event to observe this change or a timelock to react, there is no easy way for...

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

Malicious owner can drain the market at any time using SafetyWithdraw

Handle 0xRajeev Vulnerability details Impact The withdrawERC20Token in SafetyWithdraw inherited in TracerPerpetualSwaps is presumably a guarded launch emergency withdrawal mechanism. However, given the trust model where the market creator/owner is potentially untrusted/malicious, this is a...

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

Wrong price scale for GasOracle

Handle cmichel Vulnerability details The GasOracle uses two chainlink oracles GAS in ETH with some decimals, USD per ETH with some decimals and multiplies their raw return values to get the gas price in USD. However, the scaling depends on the underlying decimals of the two oracles and could be...

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

Unchecked token transfers

Handle Lucius Vulnerability details Impact The functions transerFrom/transer do not revert on failure and instead simply return false. Without checks on the return values, the transfers could potentially fail silently allowing unexpected issues with certain token pools. E.G. If a user calls depos...

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

User deposits can be turned into sponsors and then be stolen

Handle cmichel Vulnerability details Vulnerability Details When a user deposits to the treasury they first approve the contract and then call its deposit action which performs an ERC20.transferFrom. It's possible for an attacker to frontrun the final deposit transaction after the user approval an...

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

Anyone can affect deposits of any user and turn the owner of the token

Handle adelamo Vulnerability details Impact On RCTreasury, we have the method collectRentUser. This method is public, so anyone can call it using whatever user and whatever timestamp. So, calling this method using user = XXXXX and timeToCollectTo = typeuint256.max, would make isForecloseduser =...

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

Deposit whitelist enforced on msg.sender instead of user

Handle 0xRajeev Vulnerability details Impact The Treasury deposit function credits amount to the user address in parameter instead of the msgSender that is actually making the deposit whose rationale as explained in the Natspec comment is that this may be called via contract or L1-L2 bot. However...

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

Unchecked ERC20 transfers can cause lock up

Handle axic Vulnerability details Impact Some major tokens went live before ERC20 was finalised, resulting in a discrepancy whether the transfer functions a should return a boolean or b revert/fail on error. The current best practice is that they should revert, but return “true” on success...

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

delegatedTransferERC20() on line 442 of Visor.sol, able to get locked erc20 tokens

Handle Sherlock Vulnerability details Impact Because of getBalanceLocked not returning the full sum of the balances, if you have the approval you are able to transfer locked erc20 tokens. Proof of Concept Tools Used Hardhat Recommended Mitigation Steps Calculate balance using balance.add...

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

Swap value can be manipulated allowing under-collateralized loans

Handle @cmichelio Vulnerability details Vulnerability Details When borrowing with synths as collateral the synth collateral value in base tokens is computed as baseValue = calcSwapValueInBaseiSYNTHcollateralAsset.TOKEN, collateralAdjusted;, i.e., the result of a trade of the underlying token to...

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

Anyone can curate pools and steal rewards

Handle @cmichelio Vulnerability details Vulnerability Details The Router.curatePool and replacePool don't have any access restriction. An attacker can get a flash loan of base tokens and replace existing curated pools with their own curated pools. Impact Curated pools determine if a pool receives...

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

Anyone Can Call Init() and Lock It Forever For Attack.sol, DAO.sol, Factory.sol, Pools.sol, Router.sol, Vault.sol, and Vader.sol

Handle jvaqa Vulnerability details Impact Anyone Can Call Init and Lock It Forever For Attack.sol, DAO.sol, Factory.sol, Pools.sol, Router.sol, Vault.sol, and Vader.sol When trying to deploy vader contracts, an attacker could call init on each deployed contract and lock it, wasting the deployer's...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2024/01/08 12:00 a.m.•24 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 2023/12/21 12:00 a.m.•24 views

Votes delegated to the zero address will be stuck forever and user can no longer delegate votes

Lines of code Vulnerability details Bug Description VotesUpgradeable automatically delegates a user's votes to themselves if a delegatee is not set. VotesUpgradeable.solL165-168 function delegatesaddress account public view virtual returns address VotesStorage storage $ = getVotesStorage; return...

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

Decimals of LendingPool don't take into account the offset introduced by VIRTUAL_SHARES

Lines of code Vulnerability details Impact The impact of this finding is more on the marketing/data fetching side, on exchanges it would appear that the shares are worth less VIRTUALSHARES than the underlying token. Given that it would influence the perception of the value of the shares token,...

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

LP owner cannot control slippage while managing their position

Lines of code Vulnerability details Summary The owner of the LP cannot specify the slippage parameters while interacting with this position in increaseLiquidity and decreaseLiquidity. Impact Liquidity interaction with Uniswap is protected by minimum amount parameters that control the slippage of...

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

If the NFT is because the auction is not met the reservePrice in _settleAuction() function, during the auction the totalSupply of erc721VotingToken is get in the quorumVotes, leading that the piece cannot be drpped

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. Proof of Concept Provide direct links to all referenced code in GitHub. Add screenshots, logs, or any other relevant proof that illustrates the concept. Tools Used Recommended Mitigation Steps Assessed...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/12/21 12:00 a.m.•24 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/19 12:00 a.m.•24 views

InitiCore.liquidate uses stale toShares function

Lines of code Vulnerability details Proof of Concept When position is going to be liquidated, then liquidator provides poolToRepay and poolOut. He wants to repay some amount to poolToRepay and get shares from poolOut back according to repaid amount + bonus. ILendingPoolpoolOut.toShares function i...

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

Reentrancy in NextGenMinterContract.mint() allows exceeding max allowance and concurrent use of NFTs in NextGenMinterContract.burnToMint()

Lines of code Vulnerability details Impact 1. Bypassing maxAllowance in NextGenMinterContract.mint: Enables minting more NFTs than permitted. 2. Exploiting reentrancy in NextGenMinterContract.burnToMint: Allows acquiring both burnable and mintable NFTs at the same time. Proof of Concept The 1st...

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

latestAnswer() may return stale values

Lines of code 121, 122, 123, 124, 51 Vulnerability details latestAnswer only returns the latest answer or zero, and thus there is no way to tell whether the value is stale or not. Use latestRoundData instead, and check whether the latest timestamp is within your protocol's limits. File:...

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

Unbounded Approval

Lines of code Vulnerability details Impact The adapter may approve an unlimited amount of tokens to be spent by the Ocean protocol and the Curve pool, which could be risky if those contracts are compromised. Proof of Concept The adapter may approve an unlimited amount of tokens to be spent by the...

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

Unwrapping function emits event with incorrect values.

Lines of code Vulnerability details Impact The etherUnwrap function in the smart contract does not correctly emit the EtherUnwrap event. The issue arises when calculating and emitting the fee and transfer amounts. The current implementation deducts the fee, transfers the calculated amount, and...

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

Division by Zero and Precision Loss in computeOutputAmount Function

Lines of code Vulnerability details Impact The vulnerability can cause a runtime exception due to division by zero, leading to contract execution reverting. Additionally, precision loss may occur in calculations due to truncation of remainders, Proof of Concept When unwrapFeeDivisor unexpectedly...

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

Potential Issues with Address Casting and Validation in _calculateOceanId Function

Lines of code Vulnerability details Impact The use of abi.encodePacked without padding might introduce ambiguity in situations where input lengths are not fixed. Additionally, assuming tokenId can be any uint256 value without enforcing constraints could lead to unexpected behavior if constraints...

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

addRewardToken() does note remove old entries before adding new ones

Lines of code 455, 280, 378, 411 Vulnerability details Each time addRewardToken is called, new entries are added to the array, but doing so does not remove any old entries. By calling the function multiple times, an attacker can can increase their voting power indefinitely, without having to...

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

Upgraded Q -> 2 from #776 [1701456793936]

Judge has assessed an item in Issue 776 as 2 risk. The relevant finding follows: Low-01 No minimum AmountrsETH receive parameter absent in depositAsset Here we can see that User deposit asset via depositAsset which take asset address and asset depositAmount as parameter Then rsethAmountMinted...

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

Excess funds sent via msg.value not refunded

Lines of code 201 Vulnerability details Impact The code below allows the caller to provide Ether, but does not refund the amount in excess of what's required, leaving funds stranded in the contract. The condition should be changed to check for equality, or the code should refund the excess. File:...

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

improper validations result in loss of funds.

Lines of code Vulnerability details Impact due the improper validation on amount , the users can pass Amount as 0 the calculated fee will be 0 and safeTranferFrom will pass. function getNFTMintingPriceuint256 id, uint256 amount public view returns uint256 fee address bondingCurve =...

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

The withdrawCarry() function always reverts because of an incorrect assumption.

Lines of code Vulnerability details Impact The Compound protocol's CTokens have 8 decimal places, but the team mistakenly believed that cNote also had only 8 decimal places. However, it was discovered that cNote actually has 18 decimal places. This discrepancy caused the withdrawCarry function to...

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

First depositor will get twice more minted token for the same amount deposited

Lines of code Vulnerability details Impact The initial depositor stands to gain an unfair amount of RSETH tokens compared to later depositors, as a result of the fixed exchange rate of 1 ether when no RSETH supply exists i.e., no minted tokens are available. Consequently, the first deposit will...

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

Upgraded Q -> 2 from #385 [1699689442074]

Judge has assessed an item in Issue 385 as 2 risk. The relevant finding follows: L-04 ODSafeManager.allowSAFE function enables any allowed address to add/remove other allowed addresses Details The ODSafeManager.allowSAFE function is meant by design to allow/disallow any address to manage the safe...

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

In parties with more than one host, a single host can bypass the execution delay of a proposal by transferring his host status to other addresses of his.

Lines of code Vulnerability details The Vulnerability After a proposal has gathered enough votes to pass, it waits through a period defined in the governance values named executionDelay. That executionDelay period is bypassed and the proposal can be executed immediately if ALL hosts of the party...

7.2AI score
SaveExploits0
Total number of security vulnerabilities5000