deposit() method is calling external method safeTransfer without proper reentrancy guards
Functions with external calls should use checks-effects-interactions or reentrancy guards.
deposit() method is making external calls after state changes.
Likelihood:
It occurs whenever deposit is done and assets is malicious token which may call deposit inside the transaction
As it requires ERC777 or any token, most ERC20 tokens safe but if token is upgraded then there can be risk of reentrancy attack
Impact:
Potential reentrancy attacks & could drain vault funds
State corruption
Let suppose asset token is a ERC-777 token, which call withdraw() method whenever token are received
By adding ReentrancyGuard of openzeppelin can protect such methods
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.