The STADIUM_ADDRESS
is hardcoded in the implementation contract.
The STADIUM_ADDRESS
is supposed to receive 5% of the rewards on every proxy deployment.
Suppose STADIUM_ADDRESS
gets compromised, and the private key is exposed or hacked, enabling the hacker to run a bot to transfer all incoming funds to another address under their control. Unfortunately, there is no mechanism for the organizer or the proxy factory owner to alter STADIUM_ADDRESS
address. As a result, all the reward fees is now sent to the hacker controlled address.
To address this vulnerability, one potential solution is to deploy a new implementation with an alternative STADIUM_ADDRESS
or define a function called changeStadiumAddress
wherein the STADIUM_ADDRESS
can be changed.
However, it's important to note that contracts deployed with the old STADIUM_ADDRESS
will remain susceptible.
##Impact
The funds designated for rewards fees could be diverted to unauthorised accounts.
Manual Review
Writing a function to update the STADIUM_ADDRESS
which will help resolve this vulnerability. The caller of the function should be factory address or owner of the factory.
Example:
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.