Lucene search
+L
Code423n4Most viewed

10190 matches found

Code423n4
Code423n4
•added 2021/06/16 12:00 a.m.•21 views

Critical uberOwner address changes should be a two-step process

Handle 0xRajeev Vulnerability details Impact As specified, uberOwners of Factory, Orderbook and Treasury have the highest privileges in the system because they can upgrade contracts of market, Nfthub, order book, treasury, token and factory which form the critical components of the protocol. The...

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

Users can avoid paying borrowing interest after the fyToken matures

Handle shw Vulnerability details Impact According to the protocol design, users have to pay borrowing interest when repaying the debt with underlying tokens after maturity. However, a user can give his vault to Witch and then buy all his collateral using underlying tokens to avoid paying the...

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

Join Factory Contract Replacement

Handle 0xsomeone Vulnerability details Impact The JoinFactory contract is utilizing the create2 OPCODE via syntactic sugar to deploy a new Join instance, however, no sanitization occurs on the inputs allowing contracts and thereby ownerships to be replaced at will. Proof of Concept If the...

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

Locked funds are debited twice from user during tokenization leading to fund loss

Handle 0xRajeev Vulnerability details Impact During tokenization of conviction scores, the user can optionally provide FSDs to be locked to let it continue conviction accrual. However, the amount of FSDs specified for locking are debited twice from the user leading to fund loss for user. This, in...

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

Call to swapExactTokensForETH in liquidateDai() will always fail

Handle 0xRajeev Vulnerability details Impact liquidateDai calls Uniswap’s swapExactTokensForETH to swap Dai to ETH. This will work if msg.sender, i.e. FSD contract, has already given the router an allowance of at least amount on the input token Dai. Given that there is no prior approval, the call...

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

setConvictionless can be front-run to prevent conviction reset

Handle 0xRajeev Vulnerability details Impact The denylist convictionless is meant to deny conviction scores for certain users and is set by the privileged roles timelock/FSD-owner in setConvictionless. The documentation says: ā€œadjust which addresses are meant to not accrue a conviction score. The...

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

Unbounded loop in function transferERC721

Handle shw Vulnerability details Impact The function transferERC721 loops over an unbounded array, timelockERC721KeysnftContract, whose length never decreases but increases whenever the owner locks an ERC721 token. Therefore, the required gas for executing this loop grows over time and could reac...

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

Unchecked return value of transferFrom in function timeLockERC20

Handle shw Vulnerability details Impact In the function timeLockERC20 line 610, the return value of IERC20.transferFrom is unchecked. The return value could be false if the transferred token is not ERC20-compliant, indicating that the transfer fails. In that case, the variable timelockERC20Balanc...

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

Unbounded iteration

Handle cmichel Vulnerability details Vulnerability Details The Visor.removeNft iterates over all nfts. Anyone can add to this array by depositing NFTs, see Visor.onERC721Received. Other occurences that makes an unbounded iteration over arrays: Visor.getBalanceLocked Visor.getNftIdByTokenIdAndAddr...

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

Missing SafeMath

Handle adelamo Vulnerability details Here more info: --- The text was updated successfully, but these errors were encountered: All reactions...

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

function receiveNFTs does not check if amount > 0

Handle paulius.eth Vulnerability details Impact When is1155 is true, function receiveNFTs iterates over all the tokens and updates holdings and quantity1155. If the quantity1155 is 0 for that token, it adds this token to the holdings set. However, it does not check that the amount is greater than...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/05/04 12:00 a.m.•21 views

Reward rates can be changed through flash borrows

Handle @cmichelio Vulnerability details Vulnerability Details The rewards per market are proportional to their totalBorrows which can be changed by a large holder who deposits lots of collateral, takes out a huge borrow in the market, updates the rewards, and then unwinds the position. They'll on...

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

nonce always remains 0

Handle paulius.eth Vulnerability details Impact a nonce is not actually incremented: nonce.add1; the new value is not assigned to the variable so nonce always remains 0 and has no impact on random generation. Recommended Mitigation Steps Should be: nonce = nonce.add1; --- The text was updated...

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

Unrestricted access to lockUnits allows an attacker to steal funds from any user.

Handle shw Vulnerability details Impact The lockUnits and unlockUnits functions in Pools.sol allow anyone to call without any restrictions or access control on the caller. An attacker can steal any user's member units by directly calling lockUnits. Proof of Concept Referenced code:...

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

Incorrect liquidity unit calculation in Utils.sol

Handle 0xRajeev Vulnerability details Impact As per code comments, the calcLiquidityUnits function is supposed to calculate: // units = P t B + T b/2 T B slipAdjustment // P part1 + part2 / part3 slipAdjustment While part1, part2 and part3 are calculated correctly, they are combined as: uint unit...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2021/04/27 12:00 a.m.•21 views

Vader functions can be called before initialization in init() of Vader.sol

Handle 0xRajeev Vulnerability details Impact All the external/public functions of Vader.sol can be called by other contracts even before Vader.sol contract is initialized. This can lead to exceptions, state corruption or incorrect accounting in other contracts, which may require redeployment of...

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

Loans of tokens with >18 decimals can result in incorrect collateral calculation

Handle 0xsomeone Vulnerability details Impact It is possible for a user to mislead a Pool Delegate to a seemingly innocuous loan by utilizing a token with more than 18 decimals as collateral and lucrative loan terms. Proof of Concept The final calculation within the collateralRequiredForDrawdown ...

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

Missing fromToken != toToken check in MarginRouter.crossSwapExactTokensForTokens/MarginRouter.crossSwapTokensForExactTokens

Email address [email protected] Handle @cmichelio Eth address 0x6823636c2462cfdcD8d33fE53fBCD0EdbE2752ad Vulnerability details Attacker calls MarginRouter.crossSwapExactTokensForTokens with a fake pair and the same token0 == tokne1. crossSwapExactTokensForTokens1000 WETH, 0, ATTACKERCONTRACT, WETH,...

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

Wrong liquidation logic

Eth address 0x6823636c2462cfdcD8d33fE53fBCD0EdbE2752ad Vulnerability details The belowMaintenanceThreshold function decides if a trader can be liquidated: function belowMaintenanceThresholdCrossMarginAccount storage account internal returns bool uint256 loan = loanInPegaccount, true; uint256...

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

Rewards cannot be withdrawn

Email address [email protected] Handle @cmichelio Eth address 0x6823636c2462cfdcD8d33fE53fBCD0EdbE2752ad Vulnerability details The rewards for a recipient in IncentiveDistribution.sol are stored in the storage mapping indexed by recipient accruedRewardrecipient and the recipient is the actual margi...

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

No entry checks in crossSwap[Exact]TokensFor[Exact]Tokens

Email address [email protected] Handle gpersoon Eth address gpersoon.eth Vulnerability details The functions crossSwapTokensForExactTokens and crossSwapExactTokensForTokens of MarginRouter.sol do not check who is calling the function. They also do not check the contents of pairs and tokens They...

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

Using addPremium() to evade part of the fees from marginFrom

Lines of code Vulnerability details Vulnerability details When openPosition, we will charge a certain fee, the calculation formula is as follows: marginFrom + amountFromBorrowed FEEFACTOR / Base.BASISPOINT It will include marginFrom, which is mainly used to ensure enough collateralTo after swap,...

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

Contracts are vulnerable to fee-on-transfer accounting-related issues

Lines of code 359, 448, 509, 530, 42, 797, 162 Vulnerability details The functions below transfer funds from the caller to the receiver via transferFrom, but do not ensure that the actual number of tokens received is the same as the input amount to the transfer. If the token is a fee-on-transfer...

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

Array is push()ed but not pop()ed, and is iterated over

Lines of code 96, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485https://github.com/Tapioca-DAO/ta...

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

Excess funds sent via msg.value not refunded

Lines of code 201 Vulnerability details 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/29 12:00 a.m.•20 views

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

Lines of code 455, 280, 378, 411 Vulnerability details Impact 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 ...

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

Unsafe use of approve() with IERC20

Lines of code 321, 215, 184, 450, 761, 217, 157, 234, 339, 386https://github.com/Tapioca-DAO/t...

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

asD.sol::mint & asDFactory.sol::create allows an attacker to mint legitimate aSD with counterfeit underlying $NOTE

Lines of code Vulnerability details Impact When creating an aSD token using create from the asDFactory.sol, there's the cNote address reference to specify and set. A malicious user can deploy a counterfeit NOTE underlying token that isn't legit or backed by anything and set/reference it as...

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

Missing pause check in transferAssetToNodeDelegator()

Lines of code Vulnerability details Summary The function transferAssetToNodeDelegator present in the LRTDepositPool contact ignores the contract's pause state. Impact The LRTDepositPool contract contains a functionality to pause the contract in case of an emergency. 208: function pause external...

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

Staleness Vulnerability in chainlinkAdaptor's getAssetPrice function

Lines of code Vulnerability details Impact The current implementation of the getAssetPrice function in the chainlinkAdaptor contract lacks a crucial check for the heartbeat of the data feed, introducing a potential risk of consuming stale data. This issue is exacerbated by the fact that different...

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

Precision loss in getRSETHPrice

Lines of code Vulnerability details Impact Precision loss and return zero price by Oracle Proof of Concept Since the value of staked ether increases, the price of RSETH goes above ETH price and leads to a precision loss in the getRSETHPrice function of the oracle, and RSETH price becomes zero...

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

Malicious first depositor can steal all funds from all future depositors

Lines of code Vulnerability details Impact Due to a miscalculation in LRTOraclegetRSETHPrice, users who call LRTDepositPooldepositAsset when rsETH.totalSupply is non-zero will receive fewer rsETH tokens than they should due to a rounding error. This can be exploited by a malicious first depositor...

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

getRSETHPrice() of LRTOracle.sol will return 0 totalETHInPool is less than rsEthSupply.

Lines of code Vulnerability details Summary If totalETHInPool is less than rsEthSupply then getRSETHPrice will return 0 as price of rsEth in Eth. It will result in reverting when depositAsset of LRTDepositPool.sol is called. Because getRsETHAmountToMint will revert when rsEth price is 0 and it is...

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

Decimal Precision Issue in Price Calculations

Lines of code Vulnerability details Impact The getRSETHPrice function perform calculations like multiplying prices by amounts without considering the token decimals. This can cause errors to accumulate over multiple calculations. Ignoring token decimals when performing price calculations can caus...

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

Unchecked constructor arguments can make a contract unworkable

Lines of code Vulnerability details Impact In the NextGenCore contract constructor, there is no check that a valid admin contract is set using NextGenAdmins::isAdminContract. If the contract address in the adminsContract constructor is set incorrectly, it is not possible to call admin functions i...

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

claimAuction can be reverted by any bidder, locking all funds and the prize.

Lines of code Vulnerability details Description claimAuction is used to redeem the auction's ERC-721 and refund all bidders that didn't win the auction. In this process, callbacks are sent to every single bidder via low-level calls that triggers fallbacks/receives and ERC721.safeTransferFrom. So,...

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

Unbounded iteration over all index

Lines of code Vulnerability details Impact The transactions could fail if the array get too big and the transaction would consume more gas than the block limit. This will then result in a denial of service for the desired functionality and break core functionality. Proof of Concept Functions like...

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

Increasing of totalVotingPower during crowdfund can lead to users losing funds.

Lines of code Vulnerability details Bug Description The recent code update allows authorities to be declared at the start of the crowdfunding phase. This change allows authority-restricted functions to be called during the crowdfunding phase by the authorities added in the party constructor...

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

interest is still accuring when the market is paused, force user to incur debts

Lines of code Vulnerability details Impact interest is still accuring when the market is paused, force user to incur debts Proof of Concept when the function accure is called the interest is accured after the interest rate is calculated uint256 interestRate = IIRMirm.getInterestRateaddressthis,...

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

Minter can censor GATEKEEPER and mint uncollateralized for a prolonged period of time

Lines of code Vulnerability details Impact Ethena explicitly mentions their protection against a compromised minter, the mentioned maximum loss is $100.000. The protection against a compromised minter rests on the GATEKEEPER role which is a system running on AWS set to remove the minter if mints...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/30 12:00 a.m.•20 views

Limits on mint and redeem per block of USDe will lead to paralysis

Lines of code Vulnerability details Impact Since the number of mint and redeem per block is limited, attackers can use scripts to squeeze out the quota with their own addresses. Thena cannot determine whether it is a normal user address or an attack address, causing the contract to be paralyzed. ...

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

Lack of functionality to distribute the yield to the USDe stakers.

Lines of code Vulnerability details Impact User will not get the benefit of the yield which is output of their USDe staking. Outcome of yield is the core feature of staking. we are submitting this as high. Proof of Concept An user who is not black listed is allowed to stake their USDe by calling...

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

In for a penny, in for ten quadrillion dollars

Lines of code Vulnerability details Impact StakedUSDeV2 can be bricked for a penny. Proof of concept The checkMinShares requirement called after any deposit and withdrawal function checkMinShares internal view uint256 totalSupply = totalSupply; if totalSupply 0 && totalSupply MINSHARES revert...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/30 12:00 a.m.•20 views

Users will retain possession of their USDe after redeeming collateral

Lines of code Vulnerability details Impact Users will retain possession of their USDe after redeeming their collateral this can lead to theft/loss of funds. Proof of Concept See belo for the coded POC. The benefactor and the beneficiary in the Order struct containing order details and confirmatio...

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

Borrower cannot change the maximum supply

Lines of code Vulnerability details Impact Maximum supply cannot be increased and by extension the max deposit limit too. Proof of Concept WildcatMarketConfig@setMaxTotalSupply is only callable by the WildcatMarketController but is not used anywhere there. WildcatMarketConfig.sol function...

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

ERC20 tokens can be incorrectly burnt because of insufficient validation

Lines of code Vulnerability details Impact ERC20 tokens are incorrectly burnt. Proof of Concept In the file WildcatSanctionsEscrow.sol there is a constructor function: constructor sentinel = msg.sender; borrower, account, asset = WildcatSanctionsSentinelsentinel.tmpEscrowParams; Let's suppose thi...

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

Usury from simple mistake

Lines of code Vulnerability details Impact A borrower making a simple mistake might be forced to pay an extortionate interest rate for en extended period of time. Severity rating I was hovering between Medium and High on this one. Medium because it is based on a user mistake. On the other hand, t...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/25 12:00 a.m.•20 views

failed imports

Lines of code Vulnerability details Impact Unable to comply correctly 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 manual and slither Recommended Mitigation Steps install...

7.2AI score
SaveExploits0
Total number of security vulnerabilities5000