The ProxyFactory contract deploys proxy contracts and distributes rewards. However, there are vulnerabilities in the contract deployment process that could lead to undesirable consequences. Specifically, the use of predictable salt values.
The _calculateSalt
function is used to compute the salt for contract deployment. The salt is based on the contestId and the implementation address. If an attacker can predict the values of contestId and implementation used to compute the salt, they might be able to deploy a proxy contract with the same salt value and higher gas fee, effectively front-running the actual contract deployment and reverting it.
It could lead to effectively front-running the actual contract deployment and reverting it.
Manual review
Add an additional source of entropy to the salt computation process, such as a random nonce generated by the contract, to make the salt unpredictable. This would mitigate the risk of attackers predicting salt values and deploying malicious contracts.
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.