56368 sc insight alchemisttokenvault deposit should use safetransferfrom instead of transferfrom alchemisttokenvault withdraw should use safetransfer instead of transfer
Description
Brief/Intro
Vulnerability Details
// AlchemistTokenVault::deposit()
function deposit(uint256 amount) external {
_checkNonZeroAmount(amount);
@> IERC20(token).transferFrom(msg.sender, address(this), amount);
emit Deposited(msg.sender, amount);
}
// AlchemistTokenVault::withdraw()
function withdraw(address recipient, uint256 amount) external override onlyAuthorized {
_checkNonZeroAddress(recipient);
_checkNonZeroAmount(amount);
@> IERC20(token).transfer(recipient, amount);
emit Withdrawn(recipient, amount);
}Impact Details
References
Proof of Concept
Proof of Concept
Previous56552 sc high liquidation fee misrouting in alchemistv3 doliquidation leads to theft of unclaimed yield liquidator fee stranded Next57473 sc low inverted comparison operator allows operators admin level allocation privileges
Was this helpful?