The StrategyMainnet , StrategyOp and StrategyArb contracts grant unlimited token approval (type(uint256).max) to their respective router contracts (ICurveRouterNG,IVeloRouter and IRamsesRouter). This creates a significant risk if the routers are compromised, as an attacker could drain all underlying tokens from the strategies.
The underlying token is approved with the type(uint256).max allowance for the router in the _initStrategy() and setRouter() functions.
These routers are external contracts. If either router is compromised or contains a vulnerability, an attacker can exploit the unlimited approval to transfer all tokens from the strategy.
This risk exists even if no function in the strategy is explicitly called, as the routers hold perpetual approval.
An attacker exploiting the router can damage the strategy of all underlying tokens.
manual
Grant approval only for the exact amount required for each transaction. This eliminates the risk of over-approval.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.