Implementation Address Storage Vulnerability in Proxy Contract
The vulnerability stems from the storage and usage of the _implementation
address in the Proxy contract. If the _implementation
address is manipulated by an attacker, it could result in the proxy delegating calls to an unintended or malicious address, compromising the security and functionality of the contract.
Manipulation of the _implementation
address could lead to unauthorized control over the proxy's behavior, enabling an attacker to execute arbitrary code and potentially lead to unauthorized access or manipulation of contract data.
Manual code review and analysis of the _implementation
storage and delegate call logic in the Proxy contract.
To mitigate this vulnerability, follow these recommendations:
Immutable Implementation: Make the _implementation
address immutable after contract deployment to prevent any modifications to it.
Access Control Checks: Implement checks to ensure that the _implementation
address can only be set during contract deployment and by authorized users.
External Function: Implement an external function to retrieve the current _implementation
address, ensuring that no unintended modification can occur.
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.