Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
β€’added 2022/10/10 12:00 a.m.β€’19 views

Requiring Timelock For Setter Functions

Lines of code Vulnerability details Vulnerability Details We noticed that the following owner-privileged setter functions can update important state variables without a time delay. 1. setExecutionDelegate function of the BlurExchange contract L215 - 222 in code snippet 1 2. setPolicyManager...

7.4AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/08 12:00 a.m.β€’19 views

The L1GraphTokenGateway does not work on non-standard compliant tokens like USDT

Lines of code Vulnerability details Vulnerability details The L1GraphTokenGateway function uses the standard IERC20 function for the transfer call and proceeds with a checkReturnCode function to handle non-standard compliant tokens that don't return a return value. However, this does not work as...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/01 12:00 a.m.β€’19 views

After a swap, user can lose input token amount while receiving no output token amount when output token becomes non-existent

Lines of code Vulnerability details Impact When calling the swap function below, the following safeTransfer function is further called for transferring the corresponding value of token from the pool to the recipient. Note that safeTransfer does not check for the existence of the token contract...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/10/01 12:00 a.m.β€’19 views

AlgebraPool.sol#L501-L507 : position.fees are updated without checking whether the amount value is greater than zero or not

Lines of code Vulnerability details Impact Incorrect fee update if any one of the amount is zero. Proof of Concept if amount0 | amount1 != 0 position.fees0 = positionFees0 - amount0; position.fees1 = positionFees1 - amount1; if amount0 0 TransferHelper.safeTransfertoken0, recipient, amount0; if...

7.3AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/28 12:00 a.m.β€’19 views

Integer overflow in AdaptativeFee

Lines of code Vulnerability details Impact You have to take into account that when using a pragma lower than 0.8.X there is no compiler protection against any overflow. The method AdaptiveFee.exp is vulnerable to an integer overflows. Proof of Concept Using the following recipe: x = uint256.Max g...

7.1AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:00 a.m.β€’19 views

Gobbler Merkle tree vulnerable to second preimage attack

Lines of code Vulnerability details Impact The Merkle tree is vulnerable to a second preimage attack due to the fact that there is no prefix to distinguish between leaves an intermediate nodes Proof of Concept There are no prefixes added to the values in MerkleProofLib and none included in what's...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/27 12:00 a.m.β€’19 views

Check-Effect-Interact Violations and possible Reentrancy

Lines of code Vulnerability details Impact Some contracts functions make external calls and do not follow the CEI pattern thereby allowing the function to possibly be re-entered. Proof of Concept 1. ArtGobblers.mintFromGoo - , numMintedFromGoo and currentNonLegendaryId state variables updated aft...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/25 12:00 a.m.β€’19 views

Possible lost msg.value

Lines of code Vulnerability details In call submit can will send value and the asset can be an ERC20!= address0, if frxETHMinter.sol contract receive this call the fouds will lost. Recommended Mitigation Steps In frxETHMinter, submit function: Check if the msg.value is zero when the asset is...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:00 a.m.β€’19 views

Mistakenly use of arithmetic operation can lead to loss

Lines of code Vulnerability details Mistakenly use of arithmetic operation can lead to loss Description Calculating the values can somewhat correct to what you need but this is a great mistake of calculation which should be overcomed .Now why should this be overcomed? Since in Solidity, the order...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/23 12:00 a.m.β€’19 views

Revoking a claim blocks a recipient from withdrawing any unclaimed but due amount.

Lines of code Vulnerability details Impact Whenever an admin revokes a claim and the recipient has any unclaimed but vested balance , the unclaimed part is also revoked. Take for instance a total amount of 365 tokens vested over 1 year with a release interval of 1 day. If the recipient at day 30...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/19 12:00 a.m.β€’19 views

Eth can be stucked in contract when NFT was gifted to party (AuctionCrowdfund.sol)

Lines of code Vulnerability details Impact We can call function finalize, which will claim the NFT if we won. After claiming the NFT, function will check if contract is the owner of NFT or not. if lastBid == 0 // The NFT was gifted to us. Everyone who contributed wins. lastBid = totalContribution...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/19 12:00 a.m.β€’19 views

Lack of check if token is a contract

Lines of code Vulnerability details Impact solmate won't check if the token is a contract or not. It's possible for an attacker to the create a vault for a non existing token with a deterministic address. The problem occurs if the token gets deployed later, and another user tries to use this toke...

7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/19 12:00 a.m.β€’19 views

this is a test

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

7.1AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/19 12:00 a.m.β€’19 views

Some users won't be able to burn their crowdfund token to get their voting power

Lines of code Vulnerability details Impact User which is a contract who doesn't have a receive function can't burn his token to get the governance power, because ethOwed ether are transferred to him. This is correct even if ethOwed is 0. Tools Used Manual audit Recommended Mitigation Steps Consid...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/19 12:00 a.m.β€’19 views

Arbitrary contract call allows attacker to steal from user's wallet

Lines of code Vulnerability details Impact In function prepareGate , in the following line : bool s, bytes memory r = addressgateKeeper.callcreateGateCallData; A call to an arbitrary contractgateKeeper with custom calldata createGateCallData is made in prepareGate, which means the contract...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/19 12:00 a.m.β€’19 views

Locked ether

Lines of code Vulnerability details Impact In contract Party.sol there is a receive declared. This means that the contract can accept eth payments. But there is no function defined , to withdraw those sent ether. So if a user accidently sent ether to the contract, the ether would be locked, as...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/17 12:00 a.m.β€’19 views

Malicious party active member can approve malicious contract to spend and steal party ERC1155 nft and ERC20 tokens via arbitrary proposal execution

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. Let's look into the implementation in ArbitraryCallsProposal.sol // Check that the call is not prohibited. if !isCallAllowedcall, isUnanimous, preciousTokens, preciousTokenIds revert...

7.2AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/15 12:00 a.m.β€’19 views

# _safeMint() should be used rather than _mint() wherever possible

Lines of code Vulnerability details safeMint should be used rather than mint wherever possible Impact In Token.sol.sol, eventually it is called ERC721 mint. Calling mint this way does not ensure that the receiver of the NFT is able to accept them, making possible to lose them. safeMint should be...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/15 12:00 a.m.β€’19 views

It is possible to add more than 15 properties

Lines of code Vulnerability details The total number of properties is now limited to be 15 or less with hard code on the storage structures level. In the same time it is possible to add unlimited number of properties with MetadataRenderer's addProperties. If this happens, with a malicious intent ...

7.1AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/12 12:00 a.m.β€’19 views

It can be Underflow

Lines of code Vulnerability details 🎨 Category Data Validation πŸ’₯ Impact If amountIn is greater than redeemBase, this happens underflow and reverting the transaction. πŸ“ Proof of Concept The value of amountIn can set by users so It can be underflow. e.g redeemBase = 5 redeemaddresstest, 10 This...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/12 12:00 a.m.β€’19 views

FEI Minter can drain SimpleFeiDaiPSM contract DAI balance

Lines of code Vulnerability details Impact The FEI token contract contain a mint function which allow the MINTER to mint a given amount of FEI tokens to any account including his own address. So the Minter can mint to his own account an amount of FEI tokens equivalent to the SimpleFeiDaiPSM...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/12 12:00 a.m.β€’19 views

Missing access control on burnFeiHeld()

Lines of code Vulnerability details Impact The function burnFeiHeld is external, and can be called by everyone. This allows anyone to burn the FEI balance of the contract. This may affect the 1:1 ratio of FEI and DAI of the contract SimpleFeiDaiPSM.sol Proof of Concept Tools Used Manual review...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/12 12:00 a.m.β€’19 views

Contract TribeRedeemer: function previewRedeem() might unable to be called forever because of devide by 0

Lines of code Vulnerability details 2022-09-tribe Contract TribeRedeemer: function previewRedeem might unable to be called forever because of devide by 0 tags: c4, 2022-09-tribe, medium Affected code Impact After redemptions, redeemBase can be 0. Then function previewRedeem always revert when be...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/11 12:00 a.m.β€’19 views

an attacker can take out flash loan and cause users not to be able to redeem their tokens because of undflow or divsion by zero

Lines of code Vulnerability details Impact An attacker can take out a flash loan and cause the state variable redeemBase=1 causing users who call this function to get dosed and since users can't call this function after the attacker makes the reedem function unuseable which can cause funds to be...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/08 12:00 a.m.β€’19 views

Comparison of tokens

Lines of code Vulnerability details Impact In function named getUnderlyingPrice the BaseV1Router01 contract desides price of the token by comparing tokens' symbol name with predefined constant. By passing custom token attacker can force returned value of getUnderlyingPrice function to be incorrec...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/08 12:00 a.m.β€’20 views

No validation on wcanto may lead into lock deposit because of arbitrary address in deposit call

Lines of code Vulnerability details No validation on wcanto may lead into lock deposit because of arbitrary address in deposit call Impact Address wcanto is not being validated. In case of wrong deployment, function swapExactCANTOForTokens will lock ether in a wrong contract. Consideration...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/01 12:00 a.m.β€’19 views

User with 33% votes held can execute self-endorsed Proposal

Lines of code Vulnerability details Impact Two issues here with one being low/medium and another being high severity. Not sure if it should be put into 2 separate reports. For OlympusGovernance contract in Governance.sol , a Proposal submitter can self-endorse a proposal they submitted themselves...

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

Operator role can update a policy without going through the governance / kernel update execution mechanism

Lines of code Vulnerability details Impact A privileged role can make contract updates that should go through governance Proof of Concept In OlympusDao updates to policies and modules are made by the kernel and are only callable by the governanceExecutors that only executes updates voted by the...

6.6AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/09/01 12:00 a.m.β€’19 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/08/27 12:00 a.m.β€’19 views

Voting signature malleability of EVM's ecrecover in castVoteBySig

Lines of code Vulnerability details Proof of Concept EVM's ecrecover is susceptible to signature malleability which allows replay attacks, but that is mitigated here by doing receipt.hasVoted = true;. However, if any of the application logic changes, it might make signature malleability a risk fo...

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

The vault account amount can be the result of an overflow

Lines of code Vulnerability details Impact The downcast uint128amountToTransfer can result in an overflow, which would impact the totalAsset.amout local variable, resulting in an incorrect amount for the totalAsset.amount state variable. function withdrawFeesuint128 shares, address recipient...

6.6AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/17 12:00 a.m.β€’19 views

Pair still operational during pause

Lines of code Vulnerability details Pair still operational during pause Severity: High Context: FraxlendPairCore.solL660 FraxlendPairCore.solL676 FraxlendPairCore.solL786 FraxlendPairCore.solL828https://github.com/code-423n4/2022-08-frax/blob/c4189a3a98b38c8c962c5ea72f1a322fb...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/17 12:00 a.m.β€’19 views

Chainlink’s latestRoundData might return stale or incorrect results

Lines of code Vulnerability details Impact On ChainlinkPriceOracle.sol, we are using latestRoundData, but there is no check if the return value indicates stale data. Proof of Concept File: contracts/FraxlendPairCore.sol , int256 answer, , , = AggregatorV3InterfaceoracleMultiply.latestRoundData; ,...

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

the 1st creator can get a little amount or 0 creatorShares

Lines of code Vulnerability details Impact On line 513 the MarkerFees.getFees function if there is more than one creatorRecipients it will loop through them and set there payment after that it will subtract creatorRev - totalRoyaltiesDistributed and set it to the the 1st creatorRecipients...

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

Caller is able to set management params in a MIMOManagedRebalance proxy he doesn't own

Lines of code Vulnerability details Impact A caller is able to set management params with any MIMOManagedRebalance proxy as long as the caller is a vault owner, the caller has deployed a proxy, and the caller is set as a manager of said vault. Proof of Concept Using the MIMOProxy's multi-call, ca...

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

When a user is given the owner privilege of multiple MIMOProxy through transferOwnership, the user cannot choose which MIMOProxy to use as the current Proxy

Lines of code Vulnerability details Impact currentProxies is only set when the user calls the deployFor function of the MIMOProxyRegistry contract, function deployForaddress owner public override returns IMIMOProxy proxy IMIMOProxy currentProxy = currentProxiesowner; // Do not deploy if the proxy...

7.1AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/07 12:00 a.m.β€’19 views

Manager is able to charge an excessive fee by taking out a larger than necessary flash loan

Lines of code Vulnerability details Impact The manager's fee is determined by the flash loan amount he takes out. A manager can take out a large flash loan to increase the fee due to him. Proof of Concept Manager needs to rebalance a vault. Manager only needs 50k flash loan. Manager takes out 2m...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/07 12:00 a.m.β€’19 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/06 12:00 a.m.β€’19 views

Add members to the not yet created community

Lines of code Vulnerability details Impact There is a addMember function in the Community. The function accepts data that should be signed by the community.owner and newMemberAddr. // Compute hash from bytes bytes32 hash = keccak256data; // Decode params from data uint256 communityID, address...

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

Divide before multiply may create unexpected values on interests

Lines of code Vulnerability details Divide before multiply may create unexpected values on interests Impact Solidity integer division might truncate. As a result, performing divide before multiply can sometimes create loss of precision. Details If for example we have an operation: 2/33 The expect...

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

Malicious callers can replay disputes

Lines of code Vulnerability details Unlike some of the other signature based operations in the Rigor system, dispute signatures do not include a nonce and are vulnerable to replay attacks. This is similar to my finding in 339, but lower severity, since it is more of a spamming/griefing vector...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/06 12:00 a.m.β€’19 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:00 a.m.β€’19 views

Contract name will point to old implementation

Lines of code Vulnerability details Impact The owner can update implementation of contract Name. However it was observed that the updation is not done correctly and contract fails to update contractAddresscontractName variable which mean contract name will still point to old implementation Proof ...

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

New owner of user proxy can prevent old owner from using the system

Lines of code Vulnerability details Impact In deployFor, owner is called if there is already an entry for the provided address. This can be exploited by a sophisticated attacker to make the system completely unusable for a user. Proof Of Concept Alice transfers her proxy to Bob through...

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

Missing upper limit definition in replaceLenderFee() of HomeFi.sol

Lines of code Vulnerability details Missing upper limit definition in replaceLenderFee of HomeFi.sol Impact The admin of the HomeFi contract can set lenderFee to greater than 100%, forcing calls to lendToProject to all projects created in the future to revert. Proof of Concept Using the function...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/03 12:00 a.m.β€’19 views

AxelarAuthWeighted - Can set operators to same values to override OLD_KEY_RETENTION

Lines of code Vulnerability details Impact It is possible to transfer operatorship to the same operators by simply doubling the values of the newWeights array and newThreshold value. This could be used by newly appointed operators to invalidate all previous operators and thus invalidate the...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/03 12:00 a.m.β€’19 views

Approve will fail

Lines of code Vulnerability details Impact Multiple ERC20 tokens require zero address approval before approving the required amount. The contract seems to be missing this. Proof of Concept 1. Observe the receiveAndSendNative function at ReceiverImplementation.sol...

6.9AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/03 12:00 a.m.β€’19 views

Approval from non-zero to non-zero amount can lead to DoS

Lines of code Vulnerability details Impact Some tokens like USDT do not work when changing the allowance from an existing non-zero allowance value. They must first be approved by zero and then the actual allowance must be approved. Proof of Concept The following function use an unsafe approvement...

6.7AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/03 12:00 a.m.β€’19 views

Anyone can self-destruct this contract.

Lines of code Vulnerability details Impact High Unprotected call to a function executing selfdestruct/suicide. Proof of Concept DepositHandler.destroyaddress contracts/DepositHandler.sol28-30 allows anyone to destruct the contract. Once the contract is unlocked through the noReenter modifier,...

6.8AI score
SaveExploits0
Code423n4
Code423n4
β€’added 2022/08/01 12:00 a.m.β€’19 views

Wrong arithmetic operation upon filling a bid order, lead to lost amount of ether on user funds

Lines of code Vulnerability details Functions GolomTrader.solfillBid... and GolomTrader.solfillCriteriaBid... used to fill a signed order Golom order.orderType = 1 or = 2 by the buyer after he approved GolomTrader contract some wETH. However, in case that the signed order is of type ERC1155 where...

6.7AI score
SaveExploits0
Total number of security vulnerabilities5000