DeFiFoundry
50,000 USDC
View results
Submission Details
Severity: low
Invalid

Missing _disableInitializers() in the constructor in PerpetualVault

Summary:

The PerpetualVault contract is an upgradeable Smart Contract and is missing the _disableInitializers() function call in its constructor. As a result, an attacker could re-initialize the contract, passing in any arguments they want.

Impact:

An attacker could take over ownership of the contract

Tools Used:

Manual review

Recommendations:

You should invoke the _disableInitializers() function from Openzeppelin in the constructor to automatically lock it when it is deployed:

constructor() {
_disableInitializers();
}
Updates

Lead Judging Commences

n0kto Lead Judge 5 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Informational or Gas

Please read the CodeHawks documentation to know which submissions are valid. If you disagree, provide a coded PoC and explain the real likelihood and the detailed impact on the mainnet without any supposition (if, it could, etc) to prove your point.

Support

FAQs

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