Submission Details

#20 Lack of `_disableInitializers` call to prevent uninitialized contracts

Severity

Medium Risk

Relevant GitHub Links

https://github.com/Cyfrin/2023-12-the-standard/blob/91132936cb09ef9bf82f38ab1106346e2ad60f91/contracts/SmartVaultManagerV5.sol#L46

Summary

Lack of _disableInitializers call to prevent uninitialized contracts

Vulnerability Details

Multiple contracts are using the Initializable module from OpenZeppelin. For this reason and in order to prevent leaving that contract uninitialized OpenZeppelin's documentation recommends adding the _disableInitializers function in the constructor to automatically lock the contracts when they are deployed. this will protect the contract that holds the logic business from beeing initialized by an attack.

File: contracts/SmartVaultManagerV5.sol

46:     function initialize() initializer public {}

Github: [46]

Impact

See Vulnerability Details

Tools Used

Manual Review

Recommendations

Consider adding _disableInitializers in constructor

Comments and Activity

Lead Judging Started

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

informational/invalid