The internal _replaceScope function clears the existing scope and provisions the new one using two "for" loops that iterate over "old.length" and "accounts.length". Supplying an exceptionally large array of accounts can cause the transaction to exceed the block gas limit.
Impact:
If a sponsor creates a pool with an extremely large initial scope, they could permanently lock themselves out of updating the scope via "setPoolScope", as the transaction to clear the old scope would continuously revert with an out-of-gas error.
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.