Distributor contract implementation
could reach selfdestruct and derive in a loss of funds when a deterministic deploys replenishes the address with malicious code.
If distributor contract has a selfdestruct()
or can reach one, it turns into a Metamorphic contract, which means it can be emptied of its code at the address which proxy is looking at, and via deterministic deployments, be replenished with malicious code, capable of through a delegate call of the proxy, empty the Proxy funds.
Total loss of funds at Proxy contract
Manual Review
Ensure that no selfdestruct opcode is reachable by the contract, either directly or via delegatecall or callcode. If the contract cannot be selfdestructed, it cannot be redeployed.
Ensure that the contract was deployed from a source that does not permit redeploys (for instance, by not using CREATE2, or by storing each deployment and preventing duplicate deployments). You’ll also need to make sure that the deployer is not metamorphic itself.
Ensure that the contract you are interacting with has not changed via EXTCODEHASH or the like at the start of the transaction before proceeding with the rest of the transaction.
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.