Lucene search
+L

12 matches found

Code423n4
Code423n4
added 2021/07/31 12:00 a.m.15 views

Yield sources cannot be swapped back

Handle shw Vulnerability details Impact The setYieldSource function of SwappableYieldSource calls the safeApprove function to approve the yield sources with the maximum allowance of transferring underlying tokens. However, according to OpenZeppelin's implementation, the safeApprove function...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2021/07/31 12:00 a.m.10 views

_setYieldSource does not reset approval

Handle cmichel Vulnerability details The SwappableYieldSource.setYieldSource function approves the new yield source but does not reset the old yield source's approval to zero. It could be the case that the old yield source is compromised or has a bug and could therefore transfer and steal any...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2021/07/31 12:00 a.m.10 views

SwappableYieldSource: Missing same deposit token check in transferFunds()

Handle hickuphh3 Vulnerability details Impact transferFunds will transfer funds from a specified yield source yieldSource to the current yield source set in the contract currentYieldSource. However, it fails to check that the deposit tokens are the same. If the specified yield source's assets are...

6.7AI score
SaveExploits0
Code423n4
Code423n4
added 2021/07/31 12:00 a.m.11 views

Single-step process for critical ownership transfer/renounce is risky

Handle 0xRajeev Vulnerability details Impact The SwappableYieldSource allows owners and asset managers to set/swap/transfer yield sources/funds. As such, the contract ownership plays a critical role in the protocol. Given that AssetManager is derived from Ownable, the ownership management of this...

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

The approveMax function of MStableYieldSource always reverts

Handle shw Vulnerability details Impact The approveMax function of MStableYieldSource calls the safeApprove function to set the allowance to the maximum. However, at the time of call, the allowance should be non-zero since it was set to the maximum in the constructor function. The non-zero...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2021/07/31 12:00 a.m.11 views

Deposits don't work with fee-on transfer tokens

Handle cmichel Vulnerability details There are ERC20 tokens that may make certain customizations to their ERC20 contracts. One type of these tokens is deflationary tokens that charge a certain fee for every transfer or transferFrom. Others are rebasing tokens that increase in value over time like...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2021/07/31 12:00 a.m.6 views

redeemToken can fail for certain tokens

Handle cmichel Vulnerability details The SwappableYieldSource.redeemToken function transfers tokens from the contract back to the sender, however, it uses the ERC20.transferFromaddressthis, msg.sender, redeemableBalance function for this. Some deposit token implementations might fail as...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2021/07/31 12:00 a.m.11 views

onlyOwnerOrAssetManager can swap Yield Source in SwappableYieldSource at any time, immediately rugging all funds from old yield source

Handle GalloDaSballo Vulnerability details Impact The function swapYieldSource Can be called by the owner deployer / initializer or Asset Manager The function will take all funds from the old Yield Source, and transfer them to the new Yield source. Any contract that implement the function functio...

6.8AI score
SaveExploits0
Code423n4
Code423n4
added 2021/07/31 12:00 a.m.13 views

Usage of safeApprove

Handle pauliax Vulnerability details Impact function approveMax uses safeApprove. This function only works if the current approval is 0. Consider clearing previous approval safeApprove0 before setting the max value again. The same issue can happen with SwappableYieldSource if, for example, source...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2021/07/31 12:00 a.m.9 views

Incorrect address check in transferERC20 can allow rugging

Handle 0xRajeev Vulnerability details Impact SwappableYieldSource.sol has a transferERC20 function callable only by the owner or asset manager to transfer out ERC20 tokens other than the yield source's tokens held by this contract. This is similar to the functions in ATokenYieldSource and...

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

Inconsistent balance when supplying transfer-on-fee or deflationary tokens

Handle shw Vulnerability details Impact The supplyTokenTo function of SwappableYieldSource assumes that amount of depositToken is transferred to itself after calling the safeTransferFrom function and thus it supplies amount of token to the yield source. However, this may not be true if the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
added 2021/07/30 12:00 a.m.10 views

setYieldSource leads to temporary wrong results

Handle gpersoon Vulnerability details Impact The use of setYieldSource leaves the contract in a temporary inconsistent state because it changes the underlying yield source, but doesn't yet transfer the underlying balances, while the shares stay the same. The function balanceOfToken will show the...

6.8AI score
SaveExploits0
Rows per page
Query Builder