Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
β€’added 2022/09/01 12:0 a.m.β€’13 views

The users are not able to withdraw the swapped amount

Lines of code Vulnerability details Impact The user will invoke swap from Operator.sol to swap their OHM tokens. But he will transfer their OHM and will never get the AmountOut Proof of Concept On Operator.sol: 1- invoking swap with tokenIn == ohm 2- the ohm.safeTransferFrommsg.sender, addressthi...

7.2AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/01 12:0 a.m.β€’13 views

BondCallback Re-Entrancy vulnerability

Lines of code Vulnerability details Impact when withdraw reserves from TRSRY to msg.sender,it may go to other external uncontrollable contract logic if reserve token contract transferFrom function call to other contract ,it will cause other market use this callback asset loss or this contract...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/01 12:0 a.m.β€’13 views

Cushion bond markets are opened at wall price rather than current price

Lines of code Vulnerability details Impact Incorrect initial bond market price Proof of Concept uint256 initialPrice = range.wall.high.price.mulDivbondScale, oracleScale; uint256 initialPrice = invWallPrice.mulDivbondScale, oracleScale; In the above lines the initial prices are set to the wall...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/01 12:0 a.m.β€’13 views

Reentrancy in repayLoan

Lines of code Vulnerability details Reentrancy in repayLoan Impact token.safeTransferFrom is called and after that state with the value is calcualted, if token can be a wrong or compromised contract this would lead to a clasic reentrancy attack that would transfer more from the balance than...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/01 12:0 a.m.β€’13 views

User can get loan without dept

Lines of code Vulnerability details Impact User can get loan without permission and dept Proof of Concept TRSRY.withdrawReserves does same validation with TRSRY.getLoan and TRSRY.withdrawReserves does not have permissioned modifier, so anyone can get loan from Treasury without any permission and...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/01 12:0 a.m.β€’13 views

permissioned modifier has a mismatch with TRSRY.withdrawReserves

Lines of code Vulnerability details Proof of Concept TRSRY.withdrawReserves is used in two polices: BondCallback and Operator. Permission is added in BondCallback, but not in Operator. And actually TRSRY.withdrawReserves does not have permissioned modifier, and there is no problem here. But...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/01 12:0 a.m.β€’13 views

Zero approval missing

Lines of code Vulnerability details Impact Frontrunning is possible where user withdraw money before setApproval refill the approval limit. This allows User to get more funds than required Proof of Concept 1. User A is approved an amount of 50 2. "custodian" decides to reduce the approval amount ...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/31 12:0 a.m.β€’13 views

Upgraded Q -> M from 225 [1661964062759]

Judge has assessed an item in Issue 225 as Medium risk. The relevant finding follows: --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/31 12:0 a.m.β€’13 views

Upgraded Q -> M from 61 [1661963759888]

Judge has assessed an item in Issue 61 as Medium risk. The relevant finding follows: --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/31 12:0 a.m.β€’13 views

Upgraded Q -> M from 97 [1661943666994]

Judge has assessed an item in Issue 97 as Medium risk. The relevant finding follows: --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/29 12:0 a.m.β€’13 views

Upgraded Q -> M from 161 [1661780870133]

Judge has assessed an item in Issue 161 as Medium risk. The relevant finding follows: --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/27 12:0 a.m.β€’13 views

malicious attacker can manipulate another delegator vote

Lines of code Vulnerability details Impact The function ERC721Checkpointable.delegate is used to change and delegate to another accounts and it call an internal function delegate which will change the delegator of the msg.sender and it will also call another internal function moveDelegates which...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/27 12:0 a.m.β€’13 views

Unchecked Call return value in _refundGas call can fail and contract will not revert

Lines of code Vulnerability details Because payable.call is a low-level call, it will not cause a revert on failure. bool refundSent, = msg.sender.call value: refundAmount ''; This means the function will go through, as if the gas-refund was processed, when it may have not. This can specifically...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/27 12:0 a.m.β€’13 views

Dynamic quorum votes parameters for a proposal (Proposal A) are changed according to another proposal (Proposal B) that proposes to update dynamic quorum votes parameters when Proposal B is executed after Proposal A is created in the same block

Lines of code Vulnerability details Impact The following writeQuorumParamsCheckpoint function is used to record dynamic quorum votes parameters at a block of interest. function writeQuorumParamsCheckpointDynamicQuorumParams memory params internal uint32 blockNumber = safe32block.number, 'block...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/27 12:0 a.m.β€’13 views

Update initializer modifier to prevent reentrancy during initialization

Lines of code Vulnerability details package.json L32-33 The solution uses: "@openzeppelin/contracts": "^4.1.0", "@openzeppelin/contracts-upgradeable": "^4.1.0", The current implementation of initialize function in both NounsDAOLogicV1.sol and NounsDAOLogicV2.sol are not using initializer modifier...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/27 12:0 a.m.β€’13 views

Incorrect Withdraw Pattern

Lines of code Vulnerability details Context: NounsDAOLogicV2.solL783-L792 Description: 1 -When we transfer ether with call, we have to check with require whether the bool value will be successful.This part is missing in the code in the contract Proof Of Concept: 2- Since the bool value is not...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/27 12:0 a.m.β€’13 views

check if the refundGas() is successful or not

Lines of code Vulnerability details The user can lose their refundAmount in the transaction field Recommended Mitigation Steps Add check bool refundSent, = msg.sender.call value: refundAmount ''; requirerefundSent, "Transfer failed."; --- The text was updated successfully, but these errors were...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/17 12:0 a.m.β€’13 views

Borrower can pay very little collateral for a huge amount of more valuable asset.

Lines of code Vulnerability details Impact When an approved borrower calls borrowAsset , they are able to borrow as much asset as possible and passing the user controlled collateralAmount input with a lesser value worth of collateral. For example, a user can pay 1 USDC collateral and receive 1000...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/17 12:0 a.m.β€’13 views

Different SafeERC20 contracts are being used

Lines of code Vulnerability details Impact Two different contracts with the name SafeERC20 are being used. Proof of Concept Tools Used Vim Recommended Mitigation Steps Use a different name for the contract. --- The text was updated successfully, but these errors were encountered: πŸ‘Ž 1 0xA5DF react...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/17 12:0 a.m.β€’13 views

ERC20.approve can be error prone. It is known issue. ERC20.sol could not be safe.

Lines of code Vulnerability details Impact ERC20 - approve is not safe. Proof of Concept For approve, the entire contract depend on ERC20.approve assetContract.approveswapperAddress, borrowAmount; collateralContract.approveswapperAddress, collateralToSwap; Refer following articles for this issue...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/17 12:0 a.m.β€’13 views

Function may fail when called due to the imprecise length of arrays to be looped (initialize function)

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. Even though the array is calldata, there are...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/17 12:0 a.m.β€’13 views

Approved Borrower can can walk away with collateral in leveraged borrowed Position

Lines of code Vulnerability details Impact When an approved borrower calls leveragedPosition , their userBorrowShares and userCollateralBalance values are updated. The borrow will be able to walk away with collateral balance by adding more collateral to pass the isSolvent check and remove all the...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/17 12:0 a.m.β€’13 views

LinearInterestRate mode has the risk of drastic fluctuation of interestRate by flash borrow attack, make borrower pay more interest

Lines of code Vulnerability details Impact In LinearInterestRate mode, the minInterest can be as low as MININT=0, and the maxInterest can be as high as MAXINT=146248508681. In getNewRate function, the newRate is determined by utilization. If utilization=1e5, the interestRate can be MAXINT. There...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/17 12:0 a.m.β€’13 views

Losing precision of toShares and toAmount in VaultAccount.sol when doing accounting calculation.

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. the code in VaultAccountingLibrary: function toShares VaultAccount memory total, uint256 amount, bool roundUp internal pure returns uint256 shares if total.amount == 0 shares = amount; else shares =...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/15 12:0 a.m.β€’13 views

createNFTDropCollectionWithPaymentAddress() doesn't granting the creator to receive royalties and mint payments

Lines of code Vulnerability details Impact createNFTDropCollectionWithPaymentAddress doesn't ensure to receive royalties and mint payments to the address payable paymentAddress Proof of Concept The documentation side Create a new drop collection contract with a custom payment address and in...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/15 12:0 a.m.β€’13 views

Exposure of critical functions

Lines of code Vulnerability details Impact AdminRole mixin exposes critical functions without any restrictions like grantAdmin revokeAdmin Proof of Concept Criticial functions like grantAdmin can be externally accessed changing the critical roles like admin. // for eg: function grantAdminaddress...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/15 12:0 a.m.β€’13 views

VotingEscrow: Unsupported fee-on-transfer tokens

Lines of code Vulnerability details Impact In the VotingEscrow contract, if the token is a fee-on-transfer token, the number of tokens received by the contract in the createLock and increaseAmount functions will be less than value. This makes the locked balance recorded by the contract incorrect,...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/15 12:0 a.m.β€’13 views

The current implementation of the VotingEscrow contract doesn't support fee on transfer tokens

Lines of code Vulnerability details Impact Some ERC20 tokens implemented so a fee is taken when transferring them, for example STA and PAXG. The current implementation of the VotingEscrow contract will mess up the accounting of the locked amounts if token will be a token like that, what will lead...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/15 12:0 a.m.β€’13 views

[M1] Incorrect amount of gas sent in _distributeFunds

Lines of code Vulnerability details Impact In case recipients consume more gas than expected the transaction could revert or cost can be too high. Proof of Concept According to the definition of the variable SENDVALUEGASLIMITMULTIPLERECIPIENTS you intend to use all that gas for all recipients. /...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/15 12:0 a.m.β€’13 views

No check for nftcollection address leads to the user's loss in NFTDropMarket

Lines of code Vulnerability details Impact There is no check for nftContract address in function createFixedPriceSale of NFTDropMarketFixedPriceSale.sol. The seller can deploy a malicious NFT collection contract, everything is very like the collection produced by NFTCollectionFactory except the...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/15 12:0 a.m.β€’13 views

Deposit does not verify if tokens are transfered successfully

Lines of code Vulnerability details please find below one report encapsulating 2 M bugs which are the exact same bug found in two seperate functions within the same .sol file M1 No Return Value on transferFrom VotingEscrow.sol makes checks to be sure that the transferFrom function is sending to t...

7.1AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/14 12:0 a.m.β€’13 views

User can have full voting power with virtually no lockup using multiple locks and delegation

Lines of code Vulnerability details Impact User receives voting power of max lock but only locks for a minimal amount of time Proof of Concept In VotingEscrow.solcheckpoint, the duration of the delegatee and the total delegated tokens are used to determine the amount of voting power that a lock...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/14 12:0 a.m.β€’13 views

Malicious creator can create different NFT collections with NFTs corresponding to same ipfs token URI

Lines of code Vulnerability details Impact A creator can call the following createNFTCollection function with different name, symbol, and nonce to create different NFT collections. function createNFTCollection string calldata name, string calldata symbol, uint256 nonce external returns address...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/13 12:0 a.m.β€’13 views

Upgraded Q -> H from 275 [1660349121925]

Judge has assessed an item in Issue 275 as High risk. The relevant finding follows: --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/07 12:0 a.m.β€’13 views

Inadequate transferOwnership function prevents new owner from accessing funds

Lines of code Vulnerability details Description There are two sources of truth for identifying the account that owns a given MIMOProxy: 1. MIMOProxy.owner 2. MIMOProxyRegistry.getCurrentProxyaddress The first source of truth is only used within the proxy contract itself, and the second source of...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/07 12:0 a.m.β€’13 views

vaultOwner Can Front-Run rebalance() With setAutomation() To Lower Incentives

Lines of code Vulnerability details Impact A vaultOwner who is "not confident enough in ourselves to stay up-to-date with market conditions to know when we should move to less volatile collateral to avoid liquidations." They can open their vault to other users who pay attention to the markets and...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/07 12:0 a.m.β€’13 views

Malicious manipulation of gas reserve can deny access to MIMOProxy

Lines of code Vulnerability details The MIMOProxy contract defines a minGasReserve value as a storage variable: MIMOProxy.solL18: /// @inheritdoc IMIMOProxy uint256 public override minGasReserve; The execute function uses this minGasReserve value to calculate a gas stipend to provide to the targe...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/07 12:0 a.m.β€’13 views

The MIMOVaultActions contract cannot withdraw assets to the user

Lines of code Vulnerability details Impact The MIMOVaultActions contract provides users with the functions of depositing, withdrawing and borrowing assets, which is called by the delegatecall of the MIMOProxy contract. But when borrowing or withdrawing assets, there is no function provided to giv...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/07 12:0 a.m.β€’13 views

rbData.toCollateral address can be different than the token address set in swapData.dexTxData.

Lines of code Vulnerability details Impact rbData.toCollateral address can be different than the token address set in swapData.dexTxData. A manager can supply toCollateral address of the collateral within the contract but supply a different address in swapParams.dexTxData such that the contract...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:0 a.m.β€’13 views

Lack of storage gap for upgradable contracts

Lines of code Vulnerability details Impact Safe usage of upgradable contract should include a storage gap to allow the addition of new state. OpenZeppelin docs Proof of Concept The following contracts on the project are using upgradable contracts from OpenZeppelin. File: contracts/Community.sol...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:0 a.m.β€’13 views

Use call() instead of transfer() when transferring ETH in DebtToken

Lines of code Vulnerability details Impact When transferring ETH, use call instead of transfer. The transfer function only allows the recipient to use 2300 gas. If the recipient uses more than that, transfers will fail. In the future gas costs might change increasing the likelihood of that...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:0 a.m.β€’13 views

Builder can reduce his debt more than expected by replaying signature

Lines of code Vulnerability details Impact A builder can, after it convened with the lender and an external agent to reduce his debt through escrow, reuse the signature and pass it again to escrow many times. This allows him to reduce his debt more than expected, leaving the lender at a loss. Pro...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:0 a.m.β€’13 views

Anyone can create disputes if contractor is not set

Lines of code Vulnerability details Impact Disputes enable an actor to arbitrate & potentially enforce requested state changes. However, the current implementation does not properly implement authorization, thus anyone is able to create disputes and spam the system with invalid disputes. Proof of...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:0 a.m.β€’13 views

It should never be possible to change the status of a completed task

Lines of code Vulnerability details High Risk Finding Impact In Project.sol, once a task is set as completed by calling function setComplete, the contract pays the subcontractor. Once in this state, in should not be possible to change the task state back to ACTIVE/INACTIVE, because then the same...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:0 a.m.β€’13 views

Project.changeOrder() might reinitialize already completed task.

Lines of code Vulnerability details Impact changeOrder can be used to change subcontractor. But if a project builder approves the signature by fault or the contractor is delegated, a malicious contractor and subcontractor might reinitialize an already completed task and complete again to receive...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:0 a.m.β€’13 views

projectCost may be reverted due to out of gas problem if having too many tasks. lendToProject and recoverTokens may always revert because of this.

Lines of code Vulnerability details Impact projectCost may be reverted due to out of gas problem if having too many tasks. lendToProject and recoverTokens may always revert because of this. If lendToProject always revert, community owner won't be able to lends fund to the published project. Tasks...

6.5AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:0 a.m.β€’13 views

It should not submit a project with no total budget. Requires at least one task with cost > 0

Lines of code Vulnerability details Impact When publishing a project, there is still possibility the project doesn't have any task or 0 budget. Proof of Concept According to contest guideline, there is an information says "Note that you cannot submit a project with no total budget. Therefore it...

6.6AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:0 a.m.β€’13 views

Lack of check for fee tokens

Lines of code Vulnerability details Impact The lendToProject function will receive the cost as an argument. However, some tokens will charge a fee, which might cause the balance of the token in the contract mismatch the cost. File: contracts/Project.sol /// @inheritdoc IProject function...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:0 a.m.β€’13 views

Possible DOS in lendToProject() and toggleLendingNeeded() function because unbounded loop can run out of gas

Lines of code Vulnerability details Impact In Project contract, the lendToProject function might not be available to be called if there are a lot of Task in tasks list of project. It means that the project cannot be funded by either builder or community owner. This can happen because lendToProjec...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/05 12:0 a.m.β€’13 views

H03: do use default zero to check account exist.

Lines of code Vulnerability details MIMOProxyRegistry.sol, deployFor function deployForaddress owner public override returns IMIMOProxy proxy IMIMOProxy currentProxy = currentProxiesowner; // Do not deploy if the proxy already exists and the owner is the same. if addresscurrentProxy != address0 &...

7.1AI score
SaveExploits0
Total number of security vulnerabilities5000