executeOperation is the Aave flash loan callback and performs multiple external calls (repay, withdraw, 1inch swap, supply).
The 1inch swap uses a low-level call that can execute arbitrary code. There is no nonReentrant modifier on executeOperation.
While the contract has no obvious callback that would benefit an attacker, defense-in-depth is missing.
Likelihood (low):
1inch swap paths would need to callback into this contract.
The contract has no receive() or useful callback; reentrancy paths are limited.
Impact (low):
If a callback path existed, reentrancy could lead to unexpected behavior or fund loss.
Severity (low):
1inch router executes swap; DEX in the path calls back to our contract. Without nonReentrant, that callback could re-enter before state is finalized. Current design has no useful callback, so exploit path is unclear.
Note: If the contract is upgradeable, ensure ReentrancyGuard storage is compatible with the upgrade pattern.
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.
The contest is complete and the rewards are being distributed.