stake.link

stake.link
DeFiHardhatBridge
27,500 USDC
View results
Submission Details
Severity: low
Invalid

Upgradable contracts need a constructor to lock the implementation contract when it is deployed

Summary

Upgradable contracts need a constructor to lock the implementation contract when it is deployed

Vulnerability Details

An uninitialized contract can be taken over by an attacker. For an upgradable contract, this applies to both the proxy and its implementation contract, which may impact the proxy. To prevent the implementation contract from being used, we should trigger the initialization in the constructor to automatically lock it when it is deployed. For contracts that inherit Initializable, the _disableInitializers() function is suggested to do this job

Impact

Instances (1):

File: contracts/core/sdlPool/base/SDLPool.sol
15: contract SDLPool is RewardsPoolController, IERC721Upgradeable, IERC721MetadataUpgradeable {

15

Tools Used

Recommendations

Updates

Lead Judging Commences

0kage Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.