Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
added 2022/10/12 12:0 a.m.14 views

Permanent lockup of tokens without recovery possible

Lines of code Vulnerability details Impact The callhook for whitelisted contracts adds an additional layer of complexity that can have multiple points of failure. If the execution of L2GraphTokenGateway.finalizeInboundTransfer fails indefinitely, there is currently no way to recover the...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/12 12:0 a.m.14 views

Set admin without accept method

Lines of code Vulnerability details Impact Set admin without method for accept is a bad practice. Also there is no check for zero. Proof of Concept Tools Used Code analytics Recommended Mitigation Steps Create method acceptAdmin and and check for zero address. --- The text was updated successfull...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/10 12:0 a.m.14 views

Griefing of execute transaction sender

Lines of code Vulnerability details Description In function execute from BlurExchange contract there is a call of executeTokenTransfer function. The last one contains the following logic: function executeTokenTransfer address collection, address from, address to, uint256 tokenId, uint256 amount,...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/10 12:0 a.m.14 views

Reentrancy

Lines of code Vulnerability details Reentrancy in BlurExchange.executeInput,Input contracts/BlurExchange.sol128-175: External calls: - executeFundsTransfersell.order.trader,buy.order.trader,sell.order.paymentToken,sell.order.fees,price contracts/BlurExchange.sol147-153 -...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/10 12:0 a.m.14 views

Transfer reminder of msg.value is bad practice

Lines of code Vulnerability details Impact Transfer reminder of msg.value is bad practice. Can lead to out of gas, reentrancy and so on. Proof of Concept Tools Used Static analytics Recommended Mitigation Steps Can create method getReminder and user to call to get all reminders for him. --- The...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/10 12:0 a.m.14 views

execute does not work for ERC1155 tokens orders where amount > 1

Lines of code Vulnerability details Impact StandardPolicyERC1155 functions canMatchMakerBid and canMatchMakerBid always return amount == 1, regardless of the function arguments. This means that calling execute on an agreed order of ERC1155 token with an amount 1 will always transfer amount == 1 o...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/09 12:0 a.m.14 views

Failed callhook will freeze user funds permanently

Lines of code Vulnerability details Impact If the call hook fails while finalizing the Inbound transfer, user funds will be locked forever with no way to retrieve. This could cause huge fund loss for users moving fund from L1 to L2 Proof of Concept 1. User A makes a transfer from L1 to L2 using...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/10/09 12:0 a.m.15 views

Unchecked transfer/transferFrom return can lead to protocol lose of funds

Lines of code Vulnerability details Impact It is good to add a require statement that checks the return value of token transfers or to use something like OpenZeppelin's safeTransfer/safeTransferFrom unless one is sure the given token reverts in case of a failure. Failure to do so will cause silen...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/28 12:0 a.m.14 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:0 a.m.14 views

Using non cleaned up variables inside of inline assembly

Lines of code Vulnerability details Impact There is a revealGobblers function in a ArtGobblers smart contract. Inside the function is an assembly insert, which operates with a variable with a size less than a machine word. But the code inside the assembly not checking that variable is cleaned up...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/25 12:0 a.m.14 views

removeMinter function DoS

Lines of code Vulnerability details Description There is a removeMinter function in ERC20PermitPermissionedMint. The function performs the removal minteraddress from the special address list. In other words, the function is needed to remove special access for a specific address. // Remove a minte...

6.6AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/25 12:0 a.m.14 views

[M3] It is impossible to recover stucked non complying ERC-20 tokens

Lines of code Vulnerability details Impact Contract frxETHMinter is unable to recover tokens like USDT PoC Tokens that return void on transfer, that is, those who do not follow ERC20 standard will revert when you try to assign the output to a boolean variable. This is the case in you function...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/24 12:0 a.m.14 views

Use safetransfer/safetransferFrom instead of transfer/transferFrom in ERC20

Lines of code Vulnerability details Impact Its a good to checks the return value of token transfer using safetransfer or safetransferFrom on Openzeppelin to ensure the token revert when transfer failure. Failure to do so will cause silent failures of transfer and affect token accountng in contrac...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/23 12:0 a.m.14 views

_releaseIntervalSecs is not validated

Lines of code Vulnerability details Impact VTVLVesting.sol has createClaimUnchecked function to create the claims internally while validating parameters with the users' allocations. However, releaseIntervalSecs is not validated comparing to user's linearVestAmount and startTimestamp endTimestamp...

6.5AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/23 12:0 a.m.14 views

UNBOUNDED LOOPS MAY CAUSE createClaimsBatch() TO FAIL

Lines of code Vulnerability details Impact There are no limits on the number of claims, which may cause the feature to fail due to a certain number of claims entered. Proof of Concept There are no upper bounds on this loop: FIle: contracts/VTVLVesting.sol for uint256 i = 0; i Recommended Mitigati...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/23 12:0 a.m.14 views

beforeWithdraw() call syncRewards() results in incorrect nextRewards

Lines of code Vulnerability details Impact beforeWithdraw call syncRewards cause the number of "nextRewards" to be incorrect . if a large amount is withdraw at the end of the cycle, then the next cycle reward will incorrectly increase by the corresponding amount Proof of Concept when call...

6.6AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/19 12:0 a.m.14 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:0 a.m.14 views

ERC1155.isApprovedForAll(owner, receiver) logic means it is possible for an approved receiver to withdraw more shares than expected

Lines of code Vulnerability details In the Readme, it is mentioned a receiver can call withdraw on behalf of the shares owner we accept deposits and withdraws on behalf of other users, by using approve ERC1155 functions on withdraw, and recipient/owner params inside both deposit/withdraw function...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/19 12:0 a.m.14 views

Unbounded proposal calls array length could cause DoS

Lines of code Vulnerability details Impact It's possible to render the governance and execution contract inoperable for a period of time and effectively kill some proposals due to execution failure, which will break the governance routine and function. This could be a mistake or on purpose. Proof...

7.2AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/19 12:0 a.m.14 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:0 a.m.14 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/19 12:0 a.m.14 views

[NAZ-M1] No Storage Gap for Upgradeable Contract Might Lead to Storage Slot Collision

Lines of code Vulnerability details Impact For upgradeable contracts, there must be storage gap to "allow developers to freely add new state variables in the future without compromising the storage compatibility with existing deployments" quote OpenZeppelin. Otherwise it may be very difficult to...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/19 12:0 a.m.14 views

havent specify the solidity compiler version, 8.15 and older version may lead to a mis encoded struct parameter

Lines of code Vulnerability details Impact the structure: struct ExecuteProposalParams uint256 proposalId; bytes proposalData; bytes progressData; bytes extraData; uint256 flags; IERC721 preciousTokens; uint256 preciousTokenIds; there are some unknown length elementbytes, in 8.15 and older...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/15 12:0 a.m.14 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/15 12:0 a.m.14 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/12 12:0 a.m.14 views

redeem() doesn't support inflationary or deflationary erc20 tokens

Lines of code Vulnerability details Impact A transfer-on-fee token or a deflationary/rebasing token, causes the received amount to be less than the accounted amount. For instance, a deflationary tokens might charge a certain fee for every transfer or transferFrom. TribeRedeemer.sol supports the u...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/08 12:0 a.m.14 views

Dividing before multiplying can cause data loss

Lines of code Vulnerability details Impact Note: I'll use the notation decimals here to represent 10 token.decimals, just like th variable defined in the BaseV1Router.getPriceLP function. In the BaseV1Router.getPriceLP function, the token0 TVL is calculated in terms of NOTE, by multiplying the TV...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/08 12:0 a.m.14 views

Newton's iteration convergence might not converge

Lines of code Vulnerability details Impact In getAmountOut for stable pair, Newton's method is used, however there is no check for the solution convergence. The numerical stability for Newton's method only applies to initial value close enough to the real solution. If the iteration fail to...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/08 12:0 a.m.14 views

Add to Blacklist function

Lines of code Vulnerability details L-2. Add to Blacklist function Description: Cryptocurrency mixing service, Tornado Cash, has been blacklisted in the OFAC. A lot of blockchain companies, token projects, NFT Projects have blacklisted all Ethereum addresses owned by Tornado Cash listed in the US...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/08 12:0 a.m.14 views

LP token price calculation suceptible to oracle attack manipulation

Lines of code Vulnerability details Impact The current calculation of the LP token its no accurate. Currently you formula is a the sum of the underlying asset value; sumPiRi / supply Sumatory of each token prices times reserve, divided by total supply, but this is suceptible to oracle manipulatio...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/08 12:0 a.m.14 views

reserve0CumulativeLast is incorrectly calculated

Lines of code Vulnerability details Impact It was observed that both reserve0CumulativeLast and reserve1CumulativeLast are incorrectly calculated. Reference can be taken from Uniswap contract which calculates it correctly at Proof of Concept 1. The reserve0CumulativeLast is currently calculated i...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/08 12:0 a.m.14 views

USING SYMBOL FOR TOKEN IDENTIFICATION

Lines of code Vulnerability details Impact Proof of Concept An exploiter may create a fake tokens whose symbols are cNOTE, cUSDT or cUSDC. When somebody call computrolle’s liquidateCalculateSeizeTokens ,it will give an unlisted token with other token's it can be unlisted token or listed token...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/08 12:0 a.m.14 views

Lack of minimal sufficient liquidity check can result in unreliable prices

Lines of code Vulnerability details function getPriceCantoaddress token internal view returnsuint erc20 token = erc20token; address pair = pairForaddresswcanto, addresstoken, false; if !isPairpair return 0; // this pair does not exist with Canto uint decimals = 10 token.decimals; // get decimals ...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/01 12:0 a.m.14 views

Lock of voting power

Lines of code Vulnerability details Description There is a function vote in OlympusGovernance smart contract. It contains the logic for voting on proposals. In the case of failed vote voters' tokens will remain on the balance of OlympusGovernance until the activation of the new proposal. But for...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/01 12:0 a.m.14 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:0 a.m.14 views

Governance wrong vote

Lines of code Vulnerability details Description There is a function vote in OlympusGovernance smart contract. This function must accept a vote for or against a proposal. But it is possible that someone will wote not for the proposal he expected: this is possible to activate another proposal using...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/01 12:0 a.m.14 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:0 a.m.14 views

Treasury module is vulnerable to cross-contract reentrancy

Lines of code Vulnerability details Impact An attacker can pay back their loan to the treasury module with protocol-owned tokens. This will cause their loan to decrease despite the protocol won't be given funds for it. Proof of Concept The code first measures the number of tokens in the treasury,...

7.3AI score
SaveExploits0
Code423n4
Code423n4
added 2022/09/01 12:0 a.m.14 views

TRSRY.sol is susceptible to ERC20 approve functionality front-running exploit

Lines of code Vulnerability details Proof of concept The problem is perfectly described here The tldr; is that if you approved a person to spend 100 tokens and then you want to decrease his allowance to 50, if he spends his 100 tokens allowance before you set his allowance to 50 he will be able t...

6.6AI score
SaveExploits0
Code423n4
Code423n4
added 2022/08/27 12:0 a.m.14 views

Check the return of .call when sending Ether

Lines of code Vulnerability details Impact It's considered a best practice to always check the return of the transaction when sending Ether with .call, since it's possible for a tx failure due to external factors out of the contract control. Currently, the contract emits an event with the result...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/08/27 12:0 a.m.14 views

Multiple storage slot collisions between versions - due to different order in declaration

Lines of code Vulnerability details Impact If we list the sequence of how variables receive slots, we will see the failure to follow "append-only" principle. Many variable added "in-between" V2 version can read/write wrong slots. Proof of Concept Here is the table/list of variable, built taking...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/08/17 12:0 a.m.14 views

Interest rate can be gamed

Lines of code Vulnerability details Impact A lender may borrow to increase interest rate, and as such game the bank. Proof of Concept Suppose a lender borrows half of the amount he has lent. If by doing so he increases the utilization such that the interest rate more than doubles which may be...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/08/17 12:0 a.m.14 views

Using large liquidation fees to steal funds

Lines of code Vulnerability details The liquidation fees can be higher than the liquidation buffer i.e., cleanLiquidationFee LTVPRECISION - maxLTV. Lenders are not fully repaid during liquidation when this is true. In a malicious scenario, an attacker may deploy a pool with very large liquidation...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/08/17 12:0 a.m.14 views

Math operation, condition check with two different data values (uint256 with uint128 and so).

Lines of code Vulnerability details Impact It may leads to unexpected result during math operation and condition checks. Proof of Concept It is obvious that following lines of codes are written with two different data types. nt256 deltaTime = block.timestamp - currentRateInfo.lastTimestamp;...

7AI score
SaveExploits0
Code423n4
Code423n4
added 2022/08/17 12:0 a.m.14 views

Users will never receive their borrow amount after tx the collateral

Lines of code Vulnerability details Impact You are not able to receive any borrowed amount after adding addCollateral Proof of Concept By invoking addCollateral you will transfer an amount of collateralAmount to the Pair But you will receive any borrowed amount Recommended Mitigation Steps Invoke...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2022/08/17 12:0 a.m.14 views

Anyone can deploy a pair with a potentially malicious token

Lines of code Vulnerability details By allowing anyone to create a pair with any two tokens there is a risk that an unsavory token will get included either as collateral or as an asset. It could range from a bad actor intentionally inserting a malicious token to a well-intentioned team that...

6.6AI score
SaveExploits0
Code423n4
Code423n4
added 2022/08/17 12:0 a.m.14 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/17 12:0 a.m.14 views

Multiplication performed after division can truncate the results

Lines of code Vulnerability details Multiplication performed after division can truncate the results Impact Solidity could truncate the results, performing multiplication before division will prevent rounding/truncation in solidity math. Details This can affect variables such as slopes, interests...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2022/08/15 12:0 a.m.14 views

Bad access control in AdminRole.sol can lead to all funds being stolen from FoundationTreasury.sol

Lines of code Vulnerability details Proof of concept FoundationTreasury.sol inherits CollateralManagement.sol which has the method function withdrawFundsaddress payable to, uint256 amount external onlyAdmin that can withdraw the whole balance of the treasury to the to address. It looks like it is...

7.3AI score
SaveExploits0
Code423n4
Code423n4
added 2022/08/15 12:0 a.m.14 views

Attackers can abuse the quitLock function to get a very large amount of votes

Lines of code Vulnerability details Impact An attacker can use a flashloan and the quitLock function to achieve a large amount of votes for one transaction. It can, depends on the implementation of the modules that will use this contract, be used to pass malicious proposals or exploit any feature...

6.7AI score
SaveExploits0
Total number of security vulnerabilities5000