splitRewards function allows for the distribution of rewards without any access control.
The splitRewards function is declared as external without any access modifiers:
This function bypasses the rewardThreshold check that is present in the performUpkeep function, as noted in the comment:
The function allows for the distribution of any positive reward amount, even if it's below the intended threshold:
However, there is no restriction as to who can call the function.
Any external actor can call this function and trigger the distribution of rewards, regardless of their role or permissions in the system.
Manual review
Add appropriate access control to the splitRewards function. This could be done using a modifier similar to onlyController or by restricting it to the contract owner.
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.