Lucene search
+L
Code423n4Recent

10190 matches found

Code423n4
Code423n4
•added 2023/10/30 12:0 a.m.•9 views

Wrong vest logic

Lines of code Vulnerability details Impact The judgment on line 90 results in that the interval between two transferInRewards must be greater than or equal to 8 hours, otherwise it will be reverted. Proof of Concept Tools Used Recommended Mitigation Steps Delete 90 lines of judgment. Assessed typ...

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

Temporary DOS attack on users minting and redeeming big amount using EthenaMinting.sol

Lines of code Vulnerability details Impact The users redeeming and minting using EthenaMinting.sol with a large amount can be vulnerable to DOS attack. Proof of Concept There is a limit on the max amount to redeem and mint in a block. This can be crucial to the users that are minting or redeeming...

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

Temporary DOS attack on all the users minting and redeeming.

Lines of code Vulnerability details Impact The users redeeming and minting using EthenaMinting.sol can be DOS'd temporarily for some blocks by an old user having many tokens staked. Proof of Concept The old user having a high staked amount can easily get the order to redeem and mint with the USDe...

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

Rewards transfer In fail

Lines of code Vulnerability details Impact the rewards transfer in will fail when current VESTINGPERIOD is not finished. Proof of Concept "function getUnvestedAmount public view returns uint256" is used to calculate the rest rewards in current VESTINGPERIOD. if the period is finished, the result...

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

Tokens having Fee-On-Transfer are not considered which will make the protocol in retaining less value than expected.

Lines of code Vulnerability details Impact The balance of the custodian Addresses will be smaller than what is expected, making the protocol fail to maintain the delta neutral position. Proof of Concept The function EthenaMinting.sol/transferCollateral is sending the tokens using safeTransferFrom...

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

Reentrancy opened for any contract that calls the withdraw function

Lines of code Vulnerability details Impact Reentrancy opened for any contract that calls the withdraw function in the stakedUSDeV2.sol which would drain of ether. Proof of Concept function withdrawaddress to, uint256 amount external onlyStakingVault USDE.transferto, amount; In this scenario, the...

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

Staking functionality temporary blocking due to lack of address zero check

Lines of code Vulnerability details Impact Though lack of zero check issue for the addToBlacklist function is already at the automated findings output, I suppose it is necessary to show the importance of this check here. In case of accidental or malicious the BLACKLISTMANAGERROLE behavior the...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/30 12:0 a.m.•5 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:0 a.m.•6 views

Wrong errors degradate UX

Lines of code Vulnerability details Impact If the beneficiary of the order is address0, it will revert popping up the error InvalidAmount. This is bad as the UI will show the users they put wrong either the collateral amount or the USDe amount, when those values may be correct. Proof of Concept...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/30 12:0 a.m.•12 views

There is no check for collateral token in mint matches same in withdraw

Lines of code Vulnerability details Impact While we understand that usde is the base token here, we see that on minting used token you would need to transfer some tokens to the contract and get some used minted to you and on redemption get usde burnt to get a token sent back to you. The implicati...

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

hardcoded route ratio might hcause verify route return false continously instead use >=

Lines of code Vulnerability details Impact hardcoded rout ratio might cause verify route to return false continuously the verifyroute in ethenaminting.sol is an if that checks whether the route ratio is 10000 or not and the ratio is going to be somewhere around that but what if it actually up wit...

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

Vulnerability in rescueTokens and _beforeTokenTransfer Functions Allows Unrestricted Transfer to Contracts

Lines of code Vulnerability details Impact The rescueTokens function in the provided Solidity contract allows the contract owner to transfer ERC20 tokens to any address, and the beforeTokenTransfer hook allows transfers involving addresses with the FULLRESTRICTEDSTAKERROLE. However, both function...

7.3AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/30 12:0 a.m.•9 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:0 a.m.•8 views

bad Actor can block the operation of mint by creating duplicate order by frunt runing original order

Lines of code Vulnerability details Impact bad Actor can block the operation of mint by creating duplicate order by frunt runing original order So basically the contracts are doing orders by users RFQ to system whether by API or front end. and make the mint process the problem is in the contract...

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

replay exploitation in StakedUSDeV2's unstake function

Lines of code Vulnerability details Impact The vulnerability in the unstake function of the StakedUSDeV2 contract allows the receiver to claim assets without considering the specific round from which they should receive the assets. The receiver can claim assets from a different round than intende...

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

Unchecked return value when calling ERC20's transfer function inside withdraw function of USDeSilo.sol. It is unsafe transfer of ERC20 tokens.

Lines of code Vulnerability details Summary In withdraw function of USDeSilo.sol there is one call calling ERC20 transfer function on USDe token. And it's return value neither checked nor safeTransfer of SafeERC20 used . So whenever transfer fails then it will not revert. And result in wrong...

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

StakedUSDe.totalSupply() may decrease below MIN_SHARES by StakedUSDe.redistributeLockedAmount.

Lines of code Vulnerability details Impact StakedUSDe runs checkMinShares in deposit and withdraw to keep the totalSupply more than MINSHARES, 1e18. It is to prevent an ERC4626 inflation attack. However, StakedUSDe.redistributeLockedAmountuser, address0 burns all the user's shares and decreases t...

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

SOFT_RESTRICTED_STAKER_ROLE is able to withdraw stUSDe for USDe even if it shouldnt

Lines of code Vulnerability details As the readme mentions, SOFTRESTRICTEDSTAKERROLE shouldnt be able to deposit or withdraw their USDe/stUSDe: Due to legal requirements, there's a SOFTRESTRICTEDSTAKERROLE and FULLRESTRICTEDSTAKERROLE. The former is for addresses based in countries we are not...

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

Vulnerability in in rescueTokens and _beforeTokenTransfer Functions Allows Self-Transfer of ERC20 Tokens

Lines of code Vulnerability details Impact The rescueTokens function and the beforeTokenTransfer hook in the provided Solidity contract lack checks to ensure that the destination address is not the same as the sender from. This oversight can result in tokens being transferred to the same address,...

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

removeDelegatedSigner() will not undelegate address for signing.

Lines of code Vulnerability details Impact Impact is critical as delegator addresses will still retain delegator roll even after the removeDelegatedSigner is called by user. Proof of Concept function setDelegatedSigner is used to set delegation function setDelegatedSigneraddress delegateTo extern...

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

Wrong estimation of acceptable risk of the protocol losses

Lines of code Vulnerability details Impact The protocol losses in case compromised MINTERS or REDEEMERS can be higher than expected due to the GATEKEEPER suppression. Attacker can frontrun the GATEKEEPER and fill block limit with own transactions while it is profitable. Average losses can be more...

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

Circumvention of soft staking restrictions in StakedUSDeV2 through indirect ERC20 token transfers

Lines of code Vulnerability details Summary The StakedUSDeV2 in the Ethena protocol is designed to allow users to stake USDe tokens and earn rewards. The protocol includes roles and restrictions to manage the staking process, such as SOFTRESTRICTEDSTAKERROLE and FULLRESTRICTEDSTAKERROLE. However,...

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

replay attack in StakedUSDe's redistributeLockedAmount function

Lines of code Vulnerability details Impact The vulnerability in the redistributeLockedAmount function of the StakedUSDe contract allows an admin user to redistribute tokens from a restricted address to another address. However, if a user let's call them User A is removed from the blacklist and...

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

vesting amount is overwritten when rewards are transferred consecutively before a user redeems thereby increasing/decreasing the totalAssets value than it actually should be

Lines of code Vulnerability details Impact In StakedUSDe there is a special rewarder role that can transfer additional usde as rewards for users who have staked usde tokens, now consider a scenario where a rewarder transfers 2 usde to the contract and the vesting period of 8 hours pass and the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/30 12:0 a.m.•10 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:0 a.m.•20 views

bad Actor can block the operation of mint by creating duplicate order by frunt runing original order

Lines of code Vulnerability details Impact bad Actor can block the operation of mint by creating duplicate order by frunt runing original order So basically the contracts are doing orders by users RFQ to system whether by API or front end. and make the mint process the problem is in the contract...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/30 12:0 a.m.•18 views

EthenaMinting.sol#_setMaxRedeemPerBlock() - Function doesn't enforce any constraints

Lines of code Vulnerability details Explanation The EthenaMinting.solsetMaxMintPerBlock function is responsible for setting the maximum limit for minting USDe tokens in a single block. function setMaxMintPerBlockuint256 maxMintPerBlock external onlyRoleDEFAULTADMINROLE...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/30 12:0 a.m.•13 views

A user with SOFT_RESTRICTED_STAKER_ROLE can earn yield.

Lines of code Vulnerability details Impact Any user blacklisted with SOFTRESTRICTEDSTAKERROLE role can earn yield by buying stUSDe token from open market and unstake stUSDe for USDe token on the StakedUSDeV2.sol contract. Proof of Concept The unstake function calls the internal withdraw function...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/30 12:0 a.m.•14 views

A fully blacklisted user can withdraw their funds

Lines of code Vulnerability details Impact A fully blacklisted user should not have access to any function of the protocol, but it is possible for a user to withdraw their funds right before being blacklisted. A fully blocked user is capable of frontrunning the addToBlacklist call by calling the...

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

Vesting amount is calculated incorrectly in StakedUSDe contract

Lines of code Vulnerability details Description The description says vestingAmount is the contract balance + any unvested remainder at that time but it is set incorrectly in the code. /// @notice The amount of the last asset distribution from the controller contract into this /// contract + any...

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

A WHALE CAN DoS A NORMAL USER FROM MINTING AND REDEEMING THE USDe BY MAKING THE MINT AMOUNT AND REDEEM AMOUNT PER BLOCK, EXCEEDING THE maxMintPerBlock AND maxRedeemPerBlock RESPECTIVELY

Lines of code Vulnerability details Impact The EthenaMinting.mint function and EthenaMinting.redeem function both have defined modifiers belowMaxMintPerBlock and belowMaxRedeemPerBlock to ensure the mint amount per block and redeem amount per block are limited to upper bounds set by the...

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

DoS of the staking functionality due to the check of minimum total supply

Lines of code Vulnerability details Impact The StakedUSDe contract can be accidentally blocked if the all shares will be redeemed before the VESTINGPERIOD end. The checkMinShares function will then revert for any eligible deposits. The same result will be in case of asset transferring to the...

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

Taking deposits hostage

Lines of code Vulnerability details Impact An initial attacker can gain the power to hold subsequent deposits into StakedUSDeV2 hostage, and release them at will e.g. for a ransom. Proof of concept The checkMinShares requirement called after any withdrawal and deposit function checkMinShares...

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

Sanction Bypass Through Depositing to Authorized Borrower's Market

Lines of code Vulnerability details Impact Wildcat protocol provides lending with lender backed collateral considered as reserves and the ratio must be upheld by the borrower. The protocol team has taken certain steps to prevent interaction with sanctioned users. However, sanction status is only...

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

Deploying a market with a non-ERC20 asset can cause incorrect interaction with asset

Lines of code Vulnerability details Impact The market contract may expect certain ERC20 functions to be present and behave in a specific way. If the asset contract does not adhere to the ERC20 standard, the market may behave unexpectedly, resulting in incorrect token balances, pricing, or other...

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

Borrower cannot change market capacity (max total supply) after creating a market

Lines of code Vulnerability details Impact As per docs, "Subsequent to launch, base APR and capacities can be adjusted by the borrower at will". After creating a market, a borrower cannot increase the maximum total supply which contradicts the documentation. Proof of Concept The...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/26 12:0 a.m.•13 views

Underflow can be occurred in codebase

Lines of code Vulnerability details Impact Because of the lack of the input validation, underflow can be occurred in the code. Proof of Concept function getRegisteredBorrowers uint256 start, uint256 end external view returns address memory arr uint256 len = borrowers.length; end = MathUtils.minen...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/26 12:0 a.m.•11 views

Denial of service to closeMarket.

Lines of code Vulnerability details Summary No mechanism to close the market. Impact Denial of service to closeMarket. Vulnerability Details Only controller can call closeMarket but there is no implementation to close market in controller. Tools Used Manual Review Recommended Mitigation Steps Add...

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

The approve function can be frontrun

Lines of code Vulnerability details Impact Bob steals tokens from Alice. Proof of Concept In the file WildcatMarketToken.sol there is an approve function: function approveaddress spender, uint256 amount external virtual nonReentrant returns bool approvemsg.sender, spender, amount; return true; th...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/26 12:0 a.m.•17 views

Lender can cause unintended behavior for the borrower's transaction

Lines of code Vulnerability details This vulnerability comes in the form of when a borrower wants to remove a lender as a both deposit and withdraw and set them as a withdraw only, to avoid paying more interest on their funds in the market, this plan may not go as planned, based on the nature of...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/26 12:0 a.m.•15 views

Invalid asset address can result to malicious Market Address and loss of fund

Lines of code Vulnerability details Impact The computeMarketAddress function is used to calculate the address where a market contract for a specific asset would be deployed. If an invalid asset address is passed, it could potentially lead to a collision with a valid market contract address, causi...

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

safeTransferFrom Does Not Check for Code at the Token Address

Lines of code Vulnerability details Impact The solady safeTransferFrom does not check for code at a token address before transferring. This can result in a deposit being made in a selfdestructed token or an embryonic token such as one that can be created from another chain's bridge without the us...

7.4AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/26 12:0 a.m.•22 views

wrong implementation of rayDiv.

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

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/26 12:0 a.m.•12 views

InterestRate can be changed during close market.

Lines of code Vulnerability details Summary After closing market, the borrower can set the interest rate. Impact Breaking calculations, loss of funds. Vulnerability Details After borrower closed the market, he can set interest rate, this means remaining totalSupply still earn interest while it...

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

Single lender can game markets into unexpected states of delinquency

Lines of code Vulnerability details Impact Wildcat Markets allow for for a borrower to accept the risks they are willing to manage when agreeing to terms of uncollatoralised lending. Namely authorised borrowers will permit certain lenders and control certain market parameters like interest rate,...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/10/26 12:0 a.m.•16 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:0 a.m.•10 views

closeMarket() can only be called by the market controller but the controller has no function to close a market.

Lines of code Vulnerability details Description Due to the restriction on the closeMarket function, only the controller is able to use it, but the controller contract has no way to call it. Impact Since the borrower becomes unable to close a market once it opened, it becomes a big issue as the...

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

Sanction Bypass Through Transferring to another account

Lines of code Vulnerability details Impact Wildcat protocol provides lending with lender backed collateral considered as reserves and the ratio must be upheld by the borrower. WildcatMarketTokens are provided to lenders in return for their base assets, these tokens are ERC20 meaning tokens can be...

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

TRANSFERING FUNDS TO YOURSELF INCREASES YOUR BALANCE

Lines of code Vulnerability details Impact If transferred to yourself, it will cause your balance to increase, thus growing the token balance infinitely. Proof of Concept File: src/market/WildcatMarketToken.sol 54: transferfrom, to, amount; 74: accountsfrom = fromAccount; 78: accountsto =...

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

Missing check to avoid zero transfer revert

Lines of code Vulnerability details Impact Cannot deploy market with originationFeeAmount == 0 for ERC20 asset which reverts on zero amount transfers. Proof of concept In deployMarket the following is executed: if originationFeeAsset != address0 originationFeeAsset.safeTransferFromborrower,...

7.2AI score
SaveExploits0
Total number of security vulnerabilities10190