Drain tokens condition due to reentrancy in collectFees
collectFees
function is not guarded by a re-entrancy guard.
In case a transfer of at least one of the
tokens in a trading pair allows to invoke arbitrary code (e.g. token implementing callbacks/hooks), it is possible for
a malicious host to drain trading pools. The re-entrancy condition allows to transfer collected fees multiple times to
both DAO and the host beyond the actual fee counter.
Loss of funds
Manual Review
Add re-entrancy guard to mitigate the issue in collectFees
function or implement a check-
effect-interaction pattern to update the balance before the transfer is executed
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.