Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yield
Unprotected allocations lose user funds
Description
Note! The same apply for TokeAutoEth
Summary
The _allocate() function accepts zero shares from the AutoUSD vault by setting minSharesOut = 0 in the router.depositMax() call. This allows the strategy to lose up to 100% of deposited funds through price manipulation, sandwich attacks, or unfavorable market conditions without any transaction revert
Description
The vulnerability exists in the following code:
The depositMax() function's third parameter (minSharesOut) is hardcoded to 0, which means the function will accept any amount of shares returned, including:
Zero shares (100% loss)
Extremely small amounts due to slippage
Manipulated amounts from MEV attacks
Impact
Sandwich Attack (89%+ loss)
Attacker front-runs the allocation transaction
Inflates the AutoUSD vault share price via large donation or manipulation
Strategy receives drastically fewer shares for the same USDC amount
Attacker back-runs to extract profit
Demonstrated loss: 89.53% of funds
Price Manipulation (100% loss possible)
Malicious actor manipulates vault state before strategy deposit
Router returns zero shares due to rounding or extreme price manipulation