The flashLoan function performs multiple external calls without comprehensive reentrancy protection. Specifically, it transfers underlying assets and invokes a callback on an untrusted external contract without enforcing a strict checks-effects-interactions pattern or using a reentrancy guard.
Reentrancy can occur via:
A malicious flash loan receiver contract reentering the protocol during the callback.
A malicious ERC20 token executing callbacks during token transfers.
Without explicit safeguards, reentrancy allows attackers to interact with protocol state in unexpected intermediate states, enabling balance manipulation or asset extraction.
Likelihood:
The vulnerability is exploitable whenever a malicious receiver contract or a malicious ERC20 token is involved. Flash loan functionality inherently interacts with external contracts, making this attack vector realistic.
Impact:
High — Loss of Protocol-Held Assets.
A malicious actor may reenter sensitive functions during flash loan execution, manipulate internal accounting, and drain assets from the protocol.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.